bone_sse: assembly-verified reimplementation of transformMatrix4x4
13 bugs fixed by comparing against full assembly dump (5317 instructions): - Emitter check: this+0x188 -> this+0x1D8 - Animation time: added FILD*time_scale pattern for both primary (+0xB0) and secondary (+0xDC) slots - Conditional multiply: bone_local *= *(bone_rt+0xF0) was missing - Billboard post-processing: 4 switch cases (types 8/16/32/64) implemented - Color animation loop bound: model_hdr+0x64 -> +0x6C - Bone keyframe data stride: 0x24 -> 0x54 - Ribbon emitter output stride: 0x15C -> 0x170 - Particle data/output strides: 0x1FC/0x17C -> 0x1F8/0x16C - Child SceneObject offsets: attach_idx +0x184->+0x1D4, next +0x190->+0x1E4 - Root bone parent: identity -> this+0xFC New files: - BONE_SSE_PROGRESS.md: section-by-section verification status - t44_full_asm.txt: complete function assembly (ground truth) - t44_helpers_asm.txt: all 12 helper function assemblies - math_sse.zig: 18 x87->SSE polyfill stubs (VanillaFixes integration) Also: OnWorldUpdate hook for true per-frame counting, DUMP_FRAMES=450. SSE dispatch currently disabled while particle sections are being verified.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,777 @@
|
||||
openjdk version "21.0.10" 2026-01-20
|
||||
OpenJDK Runtime Environment (build 21.0.10+7)
|
||||
OpenJDK 64-Bit Server VM (build 21.0.10+7, mixed mode)
|
||||
=== findInterpolationIndices (0x00713D50, 334 bytes) ===
|
||||
0x00713D50 PUSH EBP
|
||||
0x00713D51 MOV EBP,ESP
|
||||
0x00713D53 SUB ESP,0x8
|
||||
0x00713D56 PUSH ESI
|
||||
0x00713D57 MOV ESI,ECX
|
||||
0x00713D59 MOV ECX,dword ptr [EBP + 0x10]
|
||||
0x00713D5C MOV EAX,dword ptr [ECX + 0x4]
|
||||
0x00713D5F TEST EAX,EAX
|
||||
0x00713D61 PUSH EDI
|
||||
0x00713D62 JZ 0x00713d75
|
||||
0x00713D64 MOV EDX,dword ptr [EBP + 0xc]
|
||||
0x00713D67 MOV EAX,dword ptr [ECX + 0x8]
|
||||
0x00713D6A MOV EDI,dword ptr [EAX + EDX*0x8 + 0x4]
|
||||
0x00713D6E LEA EAX,[EAX + EDX*0x8]
|
||||
0x00713D71 MOV EDX,dword ptr [EAX]
|
||||
0x00713D73 JMP 0x00713d7b
|
||||
0x00713D75 MOV EDI,dword ptr [ECX + 0xc]
|
||||
0x00713D78 XOR EDX,EDX
|
||||
0x00713D7A DEC EDI
|
||||
0x00713D7B CMP EDX,EDI
|
||||
0x00713D7D JC 0x00713d96
|
||||
0x00713D7F MOV EAX,dword ptr [EBP + 0x14]
|
||||
0x00713D82 POP EDI
|
||||
0x00713D83 MOV dword ptr [EAX],EDX
|
||||
0x00713D85 MOV dword ptr [EAX + 0x4],EDX
|
||||
0x00713D88 MOV dword ptr [EAX + 0x8],0x0
|
||||
0x00713D8F POP ESI
|
||||
0x00713D90 MOV ESP,EBP
|
||||
0x00713D92 POP EBP
|
||||
0x00713D93 RET 0x10 << RET
|
||||
0x00713D96 MOV AX,word ptr [ECX + 0x2]
|
||||
0x00713D9A CMP AX,0xffff
|
||||
0x00713D9E JZ 0x00713dab
|
||||
0x00713DA0 MOV ESI,dword ptr [ESI + 0x64]
|
||||
0x00713DA3 MOVZX EAX,AX
|
||||
0x00713DA6 MOV ESI,dword ptr [ESI + EAX*0x4]
|
||||
0x00713DA9 JMP 0x00713dae
|
||||
0x00713DAB MOV ESI,dword ptr [EBP + 0x8]
|
||||
0x00713DAE MOV EAX,dword ptr [EBP + 0x14]
|
||||
0x00713DB1 MOV ECX,dword ptr [ECX + 0x10]
|
||||
0x00713DB4 PUSH EBX
|
||||
0x00713DB5 MOV EBX,dword ptr [EAX]
|
||||
0x00713DB7 MOV EAX,dword ptr [ECX + EBX*0x4]
|
||||
0x00713DBA MOV dword ptr [EBP + 0xc],EAX
|
||||
0x00713DBD MOV EAX,ESI
|
||||
0x00713DBF SUB EAX,dword ptr [EBP + 0xc]
|
||||
0x00713DC2 CMP EAX,0x1f4
|
||||
0x00713DC7 JNC 0x00713de1
|
||||
0x00713DC9 MOV EAX,EBX
|
||||
0x00713DCB CMP EAX,EDI
|
||||
0x00713DCD JNC 0x00713e45
|
||||
0x00713DCF LEA ECX,[ECX + EAX*0x4 + 0x4]
|
||||
0x00713DD3 CMP dword ptr [ECX],ESI
|
||||
0x00713DD5 JA 0x00713e45
|
||||
0x00713DD7 INC EAX
|
||||
0x00713DD8 ADD ECX,0x4
|
||||
0x00713DDB CMP EAX,EDI
|
||||
0x00713DDD JC 0x00713dd3
|
||||
0x00713DDF JMP 0x00713e45
|
||||
0x00713DE1 CMP EAX,0xfffffe0c
|
||||
0x00713DE6 JC 0x00713dff
|
||||
0x00713DE8 MOV EAX,EBX
|
||||
0x00713DEA CMP EAX,EDX
|
||||
0x00713DEC JBE 0x00713e45
|
||||
0x00713DEE LEA ECX,[ECX + EAX*0x4]
|
||||
0x00713DF1 CMP dword ptr [ECX],ESI
|
||||
0x00713DF3 JBE 0x00713e45
|
||||
0x00713DF5 DEC EAX
|
||||
0x00713DF6 SUB ECX,0x4
|
||||
0x00713DF9 CMP EAX,EDX
|
||||
0x00713DFB JA 0x00713df1
|
||||
0x00713DFD JMP 0x00713e45
|
||||
0x00713DFF MOV EBX,dword ptr [ECX + EDX*0x4]
|
||||
0x00713E02 MOV EAX,ESI
|
||||
0x00713E04 SUB EAX,EBX
|
||||
0x00713E06 CMP EAX,0x1f4
|
||||
0x00713E0B JNC 0x00713e21
|
||||
0x00713E0D MOV EAX,EDX
|
||||
0x00713E0F LEA ECX,[ECX + EDX*0x4 + 0x4]
|
||||
0x00713E13 CMP dword ptr [ECX],ESI
|
||||
0x00713E15 JA 0x00713e45
|
||||
0x00713E17 INC EAX
|
||||
0x00713E18 ADD ECX,0x4
|
||||
0x00713E1B CMP EAX,EDI
|
||||
0x00713E1D JC 0x00713e13
|
||||
0x00713E1F JMP 0x00713e45
|
||||
0x00713E21 LEA EAX,[EDI + EDX*0x1]
|
||||
0x00713E24 SHR EAX,0x1
|
||||
0x00713E26 CMP ESI,dword ptr [ECX + EAX*0x4]
|
||||
0x00713E29 JNC 0x00713e30
|
||||
0x00713E2B LEA EDI,[EAX + -0x1]
|
||||
0x00713E2E JMP 0x00713e3b
|
||||
0x00713E30 MOV EBX,dword ptr [ECX + EAX*0x4 + 0x4]
|
||||
0x00713E34 CMP ESI,EBX
|
||||
0x00713E36 LEA EDX,[EAX + 0x1]
|
||||
0x00713E39 JC 0x00713e41
|
||||
0x00713E3B CMP EDX,EDI
|
||||
0x00713E3D JC 0x00713e21
|
||||
0x00713E3F JMP 0x00713e43
|
||||
0x00713E41 MOV EDX,EAX
|
||||
0x00713E43 MOV EAX,EDX
|
||||
0x00713E45 MOV ECX,dword ptr [EBP + 0x10]
|
||||
0x00713E48 MOV EDI,dword ptr [ECX + 0xc]
|
||||
0x00713E4B LEA EDX,[EAX + 0x1]
|
||||
0x00713E4E CMP EDX,EDI
|
||||
0x00713E50 POP EBX
|
||||
0x00713E51 JNC 0x00713e87
|
||||
0x00713E53 MOV EDI,dword ptr [EBP + 0x14]
|
||||
0x00713E56 MOV dword ptr [EDI],EAX
|
||||
0x00713E58 MOV dword ptr [EDI + 0x4],EDX
|
||||
0x00713E5B MOV ECX,dword ptr [ECX + 0x10]
|
||||
0x00713E5E MOV EAX,dword ptr [ECX + EAX*0x4]
|
||||
0x00713E61 MOV ECX,dword ptr [ECX + EDX*0x4]
|
||||
0x00713E64 SUB ESI,EAX
|
||||
0x00713E66 MOV dword ptr [EBP + -0x8],ESI
|
||||
0x00713E69 XOR ESI,ESI
|
||||
0x00713E6B MOV dword ptr [EBP + -0x4],ESI
|
||||
0x00713E6E FILD qword ptr [EBP + -0x8]
|
||||
0x00713E71 SUB ECX,EAX
|
||||
0x00713E73 MOV dword ptr [EBP + -0x4],ESI
|
||||
0x00713E76 MOV dword ptr [EBP + -0x8],ECX
|
||||
0x00713E79 FIDIV dword ptr [EBP + -0x8]
|
||||
0x00713E7C FSTP float ptr [EDI + 0x8]
|
||||
0x00713E7F POP EDI
|
||||
0x00713E80 POP ESI
|
||||
0x00713E81 MOV ESP,EBP
|
||||
0x00713E83 POP EBP
|
||||
0x00713E84 RET 0x10 << RET
|
||||
0x00713E87 MOV ECX,dword ptr [EBP + 0x14]
|
||||
0x00713E8A POP EDI
|
||||
0x00713E8B MOV dword ptr [ECX + 0x4],EAX
|
||||
0x00713E8E MOV dword ptr [ECX],EAX
|
||||
0x00713E90 MOV dword ptr [ECX + 0x8],0x0
|
||||
0x00713E97 POP ESI
|
||||
0x00713E98 MOV ESP,EBP
|
||||
0x00713E9A POP EBP
|
||||
0x00713E9B RET 0x10 << RET
|
||||
|
||||
=== interpolateAnimationKeyframes (0x00713EA0, 337 bytes) ===
|
||||
0x00713EA0 PUSH EBP
|
||||
0x00713EA1 MOV EBP,ESP
|
||||
0x00713EA3 PUSH ECX
|
||||
0x00713EA4 PUSH EBX
|
||||
0x00713EA5 PUSH ESI
|
||||
0x00713EA6 MOV ESI,dword ptr [EBP + 0xc]
|
||||
0x00713EA9 PUSH EDI
|
||||
0x00713EAA MOV EDI,dword ptr [EBP + 0x8]
|
||||
0x00713EAD PUSH ESI
|
||||
0x00713EAE MOV EBX,EDX
|
||||
0x00713EB0 MOV EAX,dword ptr [EBX + 0x9c]
|
||||
0x00713EB6 MOV EDX,dword ptr [EBX + 0x98]
|
||||
0x00713EBC PUSH EDI
|
||||
0x00713EBD PUSH EAX
|
||||
0x00713EBE PUSH EDX
|
||||
0x00713EBF MOV dword ptr [EBP + -0x4],ECX
|
||||
0x00713EC2 CALL 0x00713d50 << CALL
|
||||
0x00713EC7 MOV EAX,dword ptr [ESI]
|
||||
0x00713EC9 SHL EAX,0x4
|
||||
0x00713ECC CMP word ptr [EDI],0x0
|
||||
0x00713ED0 JNZ 0x00713ef7
|
||||
0x00713ED2 ADD EAX,dword ptr [EDI + 0x18]
|
||||
0x00713ED5 MOV ECX,dword ptr [EAX]
|
||||
0x00713ED7 ADD ESI,0xc
|
||||
0x00713EDA MOV dword ptr [ESI],ECX
|
||||
0x00713EDC MOV EDX,dword ptr [EAX + 0x4]
|
||||
0x00713EDF MOV dword ptr [ESI + 0x4],EDX
|
||||
0x00713EE2 MOV ECX,dword ptr [EAX + 0x8]
|
||||
0x00713EE5 MOV dword ptr [ESI + 0x8],ECX
|
||||
0x00713EE8 MOV EDX,dword ptr [EAX + 0xc]
|
||||
0x00713EEB POP EDI
|
||||
0x00713EEC MOV dword ptr [ESI + 0xc],EDX
|
||||
0x00713EEF POP ESI
|
||||
0x00713EF0 POP EBX
|
||||
0x00713EF1 MOV ESP,EBP
|
||||
0x00713EF3 POP EBP
|
||||
0x00713EF4 RET 0x8 << RET
|
||||
0x00713EF7 MOV EDX,dword ptr [EDI + 0x18]
|
||||
0x00713EFA FLD float ptr [ESI + 0x8]
|
||||
0x00713EFD MOV ECX,dword ptr [ESI + 0x4]
|
||||
0x00713F00 ADD EAX,EDX
|
||||
0x00713F02 SHL ECX,0x4
|
||||
0x00713F05 FLD float ptr [ECX + EDX*0x1]
|
||||
0x00713F08 ADD ECX,EDX
|
||||
0x00713F0A FSUB float ptr [EAX]
|
||||
0x00713F0C LEA EDI,[ESI + 0xc]
|
||||
0x00713F0F FMUL ST1
|
||||
0x00713F11 FADD float ptr [EAX]
|
||||
0x00713F13 FSTP float ptr [EDI]
|
||||
0x00713F15 FLD float ptr [ECX + 0x4]
|
||||
0x00713F18 FSUB float ptr [EAX + 0x4]
|
||||
0x00713F1B FMUL ST1
|
||||
0x00713F1D FADD float ptr [EAX + 0x4]
|
||||
0x00713F20 FSTP float ptr [EDI + 0x4]
|
||||
0x00713F23 FLD float ptr [ECX + 0x8]
|
||||
0x00713F26 FSUB float ptr [EAX + 0x8]
|
||||
0x00713F29 FMUL ST1
|
||||
0x00713F2B FADD float ptr [EAX + 0x8]
|
||||
0x00713F2E FSTP float ptr [EDI + 0x8]
|
||||
0x00713F31 FLD float ptr [ECX + 0xc]
|
||||
0x00713F34 FSUB float ptr [EAX + 0xc]
|
||||
0x00713F37 FMUL ST1
|
||||
0x00713F39 FADD float ptr [EAX + 0xc]
|
||||
0x00713F3C FSTP float ptr [EDI + 0xc]
|
||||
0x00713F3F FSTP ST0
|
||||
0x00713F41 FLD float ptr [0x007ffd74]
|
||||
0x00713F47 FCOMP float ptr [EBX + 0x10c]
|
||||
0x00713F4D FNSTSW AX
|
||||
0x00713F4F TEST AH,0x44
|
||||
0x00713F52 JNP 0x00713fe8
|
||||
0x00713F58 MOV ECX,dword ptr [EBP + 0x8]
|
||||
0x00713F5B CMP word ptr [ECX + 0x2],0xffff
|
||||
0x00713F61 JNZ 0x00713fe8
|
||||
0x00713F67 LEA EAX,[ESI + 0x1c]
|
||||
0x00713F6A PUSH EAX
|
||||
0x00713F6B MOV EAX,dword ptr [EBX + 0xc8]
|
||||
0x00713F71 PUSH ECX
|
||||
0x00713F72 MOV ECX,dword ptr [EBX + 0xc4]
|
||||
0x00713F78 PUSH EAX
|
||||
0x00713F79 PUSH ECX
|
||||
0x00713F7A MOV ECX,dword ptr [EBP + -0x4]
|
||||
0x00713F7D CALL 0x00713d50 << CALL
|
||||
0x00713F82 FLD float ptr [ESI + 0x24]
|
||||
0x00713F85 MOV ECX,dword ptr [ESI + 0x20]
|
||||
0x00713F88 MOV EAX,dword ptr [ESI + 0x1c]
|
||||
0x00713F8B MOV EDX,dword ptr [EBP + 0x8]
|
||||
0x00713F8E MOV EDX,dword ptr [EDX + 0x18]
|
||||
0x00713F91 SHL ECX,0x4
|
||||
0x00713F94 FLD float ptr [ECX + EDX*0x1]
|
||||
0x00713F97 ADD ECX,EDX
|
||||
0x00713F99 SHL EAX,0x4
|
||||
0x00713F9C FSUB float ptr [EAX + EDX*0x1]
|
||||
0x00713F9F ADD EAX,EDX
|
||||
0x00713FA1 LEA EDX,[ESI + 0x28]
|
||||
0x00713FA4 PUSH ECX
|
||||
0x00713FA5 FMUL ST1
|
||||
0x00713FA7 FADD float ptr [EAX]
|
||||
0x00713FA9 FSTP float ptr [EDX]
|
||||
0x00713FAB FLD float ptr [ECX + 0x4]
|
||||
0x00713FAE FSUB float ptr [EAX + 0x4]
|
||||
0x00713FB1 FMUL ST1
|
||||
0x00713FB3 FADD float ptr [EAX + 0x4]
|
||||
0x00713FB6 FSTP float ptr [EDX + 0x4]
|
||||
0x00713FB9 FLD float ptr [ECX + 0x8]
|
||||
0x00713FBC FSUB float ptr [EAX + 0x8]
|
||||
0x00713FBF FMUL ST1
|
||||
0x00713FC1 FADD float ptr [EAX + 0x8]
|
||||
0x00713FC4 FSTP float ptr [EDX + 0x8]
|
||||
0x00713FC7 FLD float ptr [ECX + 0xc]
|
||||
0x00713FCA FSUB float ptr [EAX + 0xc]
|
||||
0x00713FCD FMUL ST1
|
||||
0x00713FCF FADD float ptr [EAX + 0xc]
|
||||
0x00713FD2 FSTP float ptr [EDX + 0xc]
|
||||
0x00713FD5 FSTP ST0
|
||||
0x00713FD7 FLD float ptr [EBX + 0x10c]
|
||||
0x00713FDD FSTP float ptr [ESP]
|
||||
0x00713FE0 PUSH EDX
|
||||
0x00713FE1 PUSH EDI
|
||||
0x00713FE2 PUSH EDI
|
||||
0x00713FE3 CALL 0x0074d114 << CALL
|
||||
0x00713FE8 POP EDI
|
||||
0x00713FE9 POP ESI
|
||||
0x00713FEA POP EBX
|
||||
0x00713FEB MOV ESP,EBP
|
||||
0x00713FED POP EBP
|
||||
0x00713FEE RET 0x8 << RET
|
||||
|
||||
=== getInterpolatedFloat (0x0071AF20, 199 bytes) ===
|
||||
0x0071AF20 PUSH EBP
|
||||
0x0071AF21 MOV EBP,ESP
|
||||
0x0071AF23 PUSH ECX
|
||||
0x0071AF24 PUSH EBX
|
||||
0x0071AF25 MOV EBX,dword ptr [EBP + 0x8]
|
||||
0x0071AF28 PUSH ESI
|
||||
0x0071AF29 MOV ESI,dword ptr [EBP + 0xc]
|
||||
0x0071AF2C PUSH EDI
|
||||
0x0071AF2D PUSH ESI
|
||||
0x0071AF2E MOV EDI,EDX
|
||||
0x0071AF30 MOV EAX,dword ptr [EDI + 0x9c]
|
||||
0x0071AF36 MOV EDX,dword ptr [EDI + 0x98]
|
||||
0x0071AF3C PUSH EBX
|
||||
0x0071AF3D PUSH EAX
|
||||
0x0071AF3E PUSH EDX
|
||||
0x0071AF3F MOV dword ptr [EBP + -0x4],ECX
|
||||
0x0071AF42 CALL 0x00713d50 << CALL
|
||||
0x0071AF47 CMP word ptr [EBX],0x0
|
||||
0x0071AF4B JNZ 0x0071af61
|
||||
0x0071AF4D MOV ECX,dword ptr [EBX + 0x18]
|
||||
0x0071AF50 MOV EAX,dword ptr [ESI]
|
||||
0x0071AF52 MOV EDX,dword ptr [ECX + EAX*0x4]
|
||||
0x0071AF55 POP EDI
|
||||
0x0071AF56 MOV dword ptr [ESI + 0xc],EDX
|
||||
0x0071AF59 POP ESI
|
||||
0x0071AF5A POP EBX
|
||||
0x0071AF5B MOV ESP,EBP
|
||||
0x0071AF5D POP EBP
|
||||
0x0071AF5E RET 0x8 << RET
|
||||
0x0071AF61 MOV EAX,dword ptr [EBX + 0x18]
|
||||
0x0071AF64 MOV ECX,dword ptr [ESI]
|
||||
0x0071AF66 FLD float ptr [EAX + ECX*0x4]
|
||||
0x0071AF69 MOV EDX,dword ptr [ESI + 0x4]
|
||||
0x0071AF6C FLD float ptr [EAX + EDX*0x4]
|
||||
0x0071AF6F FSUB ST0,ST1
|
||||
0x0071AF71 FMUL float ptr [ESI + 0x8]
|
||||
0x0071AF74 FADD ST0,ST1
|
||||
0x0071AF76 FSTP float ptr [ESI + 0xc]
|
||||
0x0071AF79 FSTP ST0
|
||||
0x0071AF7B FLD float ptr [0x007ffd74]
|
||||
0x0071AF81 FCOMP float ptr [EDI + 0x10c]
|
||||
0x0071AF87 FNSTSW AX
|
||||
0x0071AF89 TEST AH,0x44
|
||||
0x0071AF8C JNP 0x0071afde
|
||||
0x0071AF8E CMP word ptr [EBX + 0x2],0xffff
|
||||
0x0071AF94 JNZ 0x0071afde
|
||||
0x0071AF96 MOV ECX,dword ptr [EDI + 0xc4]
|
||||
0x0071AF9C LEA EAX,[ESI + 0x10]
|
||||
0x0071AF9F PUSH EAX
|
||||
0x0071AFA0 MOV EAX,dword ptr [EDI + 0xc8]
|
||||
0x0071AFA6 PUSH EBX
|
||||
0x0071AFA7 PUSH EAX
|
||||
0x0071AFA8 PUSH ECX
|
||||
0x0071AFA9 MOV ECX,dword ptr [EBP + -0x4]
|
||||
0x0071AFAC CALL 0x00713d50 << CALL
|
||||
0x0071AFB1 MOV EBX,dword ptr [EBX + 0x18]
|
||||
0x0071AFB4 MOV EDX,dword ptr [ESI + 0x10]
|
||||
0x0071AFB7 FLD float ptr [EBX + EDX*0x4]
|
||||
0x0071AFBA MOV EAX,dword ptr [ESI + 0x14]
|
||||
0x0071AFBD FLD float ptr [EBX + EAX*0x4]
|
||||
0x0071AFC0 FSUB ST0,ST1
|
||||
0x0071AFC2 FMUL float ptr [ESI + 0x18]
|
||||
0x0071AFC5 FADDP
|
||||
0x0071AFC7 FST float ptr [ESI + 0x1c]
|
||||
0x0071AFCA FLD float ptr [ESI + 0xc]
|
||||
0x0071AFCD FXCH
|
||||
0x0071AFCF FSUB ST0,ST1
|
||||
0x0071AFD1 FMUL float ptr [EDI + 0x10c]
|
||||
0x0071AFD7 FADD ST0,ST1
|
||||
0x0071AFD9 FSTP float ptr [ESI + 0xc]
|
||||
0x0071AFDC FSTP ST0
|
||||
0x0071AFDE POP EDI
|
||||
0x0071AFDF POP ESI
|
||||
0x0071AFE0 POP EBX
|
||||
0x0071AFE1 MOV ESP,EBP
|
||||
0x0071AFE3 POP EBP
|
||||
0x0071AFE4 RET 0x8 << RET
|
||||
|
||||
=== getIndexOffset (0x0071AFF0, 16 bytes) ===
|
||||
0x0071AFF0 PUSH EBP
|
||||
0x0071AFF1 MOV EBP,ESP
|
||||
0x0071AFF3 MOV EAX,dword ptr [ECX + 0x4]
|
||||
0x0071AFF6 MOV ECX,dword ptr [EBP + 0x8]
|
||||
0x0071AFF9 LEA EAX,[EAX + ECX*0x2]
|
||||
0x0071AFFC POP EBP
|
||||
0x0071AFFD RET 0x4 << RET
|
||||
|
||||
=== setShortValue (0x0071B010, 18 bytes) ===
|
||||
0x0071B010 PUSH EBP
|
||||
0x0071B011 MOV EBP,ESP
|
||||
0x0071B013 MOV EAX,ECX
|
||||
0x0071B015 MOV ECX,dword ptr [EBP + 0x8]
|
||||
0x0071B018 MOV DX,word ptr [ECX]
|
||||
0x0071B01B MOV word ptr [EAX],DX
|
||||
0x0071B01E POP EBP
|
||||
0x0071B01F RET 0x4 << RET
|
||||
|
||||
=== scaleMatrix3x3ByVector (0x007BDCA0, 82 bytes) ===
|
||||
0x007BDCA0 PUSH EBP
|
||||
0x007BDCA1 MOV EBP,ESP
|
||||
0x007BDCA3 MOV EAX,dword ptr [EBP + 0x8]
|
||||
0x007BDCA6 FLD float ptr [EAX]
|
||||
0x007BDCA8 FLD ST0
|
||||
0x007BDCAA FMUL float ptr [ECX]
|
||||
0x007BDCAC FSTP float ptr [ECX]
|
||||
0x007BDCAE FLD ST0
|
||||
0x007BDCB0 FMUL float ptr [ECX + 0x4]
|
||||
0x007BDCB3 FSTP float ptr [ECX + 0x4]
|
||||
0x007BDCB6 FMUL float ptr [ECX + 0x8]
|
||||
0x007BDCB9 FSTP float ptr [ECX + 0x8]
|
||||
0x007BDCBC FLD float ptr [EAX + 0x4]
|
||||
0x007BDCBF FLD ST0
|
||||
0x007BDCC1 FMUL float ptr [ECX + 0x10]
|
||||
0x007BDCC4 FSTP float ptr [ECX + 0x10]
|
||||
0x007BDCC7 FLD ST0
|
||||
0x007BDCC9 FMUL float ptr [ECX + 0x14]
|
||||
0x007BDCCC FSTP float ptr [ECX + 0x14]
|
||||
0x007BDCCF FMUL float ptr [ECX + 0x18]
|
||||
0x007BDCD2 FSTP float ptr [ECX + 0x18]
|
||||
0x007BDCD5 FLD float ptr [EAX + 0x8]
|
||||
0x007BDCD8 FLD ST0
|
||||
0x007BDCDA FMUL float ptr [ECX + 0x20]
|
||||
0x007BDCDD FSTP float ptr [ECX + 0x20]
|
||||
0x007BDCE0 FLD ST0
|
||||
0x007BDCE2 FMUL float ptr [ECX + 0x24]
|
||||
0x007BDCE5 FSTP float ptr [ECX + 0x24]
|
||||
0x007BDCE8 FMUL float ptr [ECX + 0x28]
|
||||
0x007BDCEB FSTP float ptr [ECX + 0x28]
|
||||
0x007BDCEE POP EBP
|
||||
0x007BDCEF RET 0x4 << RET
|
||||
|
||||
=== ApplyTranslationMatrix (0x007BDC40, 90 bytes) ===
|
||||
0x007BDC40 PUSH EBP
|
||||
0x007BDC41 MOV EBP,ESP
|
||||
0x007BDC43 MOV EAX,dword ptr [EBP + 0x8]
|
||||
0x007BDC46 FLD float ptr [ECX + 0x20]
|
||||
0x007BDC49 FMUL float ptr [EAX + 0x8]
|
||||
0x007BDC4C FLD float ptr [ECX + 0x10]
|
||||
0x007BDC4F FMUL float ptr [EAX + 0x4]
|
||||
0x007BDC52 FADDP
|
||||
0x007BDC54 FLD float ptr [EAX]
|
||||
0x007BDC56 FMUL float ptr [ECX]
|
||||
0x007BDC58 FADDP
|
||||
0x007BDC5A FADD float ptr [ECX + 0x30]
|
||||
0x007BDC5D FSTP float ptr [ECX + 0x30]
|
||||
0x007BDC60 FLD float ptr [ECX + 0x24]
|
||||
0x007BDC63 FMUL float ptr [EAX + 0x8]
|
||||
0x007BDC66 FLD float ptr [ECX + 0x14]
|
||||
0x007BDC69 FMUL float ptr [EAX + 0x4]
|
||||
0x007BDC6C FADDP
|
||||
0x007BDC6E FLD float ptr [ECX + 0x4]
|
||||
0x007BDC71 FMUL float ptr [EAX]
|
||||
0x007BDC73 FADDP
|
||||
0x007BDC75 FADD float ptr [ECX + 0x34]
|
||||
0x007BDC78 FSTP float ptr [ECX + 0x34]
|
||||
0x007BDC7B FLD float ptr [ECX + 0x28]
|
||||
0x007BDC7E FMUL float ptr [EAX + 0x8]
|
||||
0x007BDC81 FLD float ptr [ECX + 0x18]
|
||||
0x007BDC84 FMUL float ptr [EAX + 0x4]
|
||||
0x007BDC87 FADDP
|
||||
0x007BDC89 FLD float ptr [ECX + 0x8]
|
||||
0x007BDC8C FMUL float ptr [EAX]
|
||||
0x007BDC8E FADDP
|
||||
0x007BDC90 FADD float ptr [ECX + 0x38]
|
||||
0x007BDC93 FSTP float ptr [ECX + 0x38]
|
||||
0x007BDC96 POP EBP
|
||||
0x007BDC97 RET 0x4 << RET
|
||||
|
||||
=== rotateMatrixByQuaternion (0x007BDDB0, 333 bytes) ===
|
||||
0x007BDDB0 PUSH EBP
|
||||
0x007BDDB1 MOV EBP,ESP
|
||||
0x007BDDB3 SUB ESP,0x9c
|
||||
0x007BDDB9 MOV EAX,dword ptr [EBP + 0x8]
|
||||
0x007BDDBC FLD float ptr [EAX]
|
||||
0x007BDDBE PUSH ESI
|
||||
0x007BDDBF FADD ST0,ST0
|
||||
0x007BDDC1 MOV ESI,ECX
|
||||
0x007BDDC3 FLD float ptr [EAX + 0x4]
|
||||
0x007BDDC6 MOV dword ptr [EBP + -0x50],0x0
|
||||
0x007BDDCD FADD ST0,ST0
|
||||
0x007BDDCF MOV dword ptr [EBP + -0x40],0x0
|
||||
0x007BDDD6 FLD float ptr [EAX + 0x8]
|
||||
0x007BDDD9 FADD ST0,ST0
|
||||
0x007BDDDB FSTP float ptr [EBP + 0x8]
|
||||
0x007BDDDE FLD ST1
|
||||
0x007BDDE0 FMUL float ptr [EAX + 0xc]
|
||||
0x007BDDE3 FSTP float ptr [EBP + -0xc]
|
||||
0x007BDDE6 FLD ST0
|
||||
0x007BDDE8 FMUL float ptr [EAX + 0xc]
|
||||
0x007BDDEB FSTP float ptr [EBP + -0x1c]
|
||||
0x007BDDEE FLD float ptr [EBP + 0x8]
|
||||
0x007BDDF1 FMUL float ptr [EAX + 0xc]
|
||||
0x007BDDF4 FSTP float ptr [EBP + -0x18]
|
||||
0x007BDDF7 FXCH
|
||||
0x007BDDF9 FMUL float ptr [EAX]
|
||||
0x007BDDFB FSTP float ptr [EBP + -0x14]
|
||||
0x007BDDFE FLD ST0
|
||||
0x007BDE00 FMUL float ptr [EAX]
|
||||
0x007BDE02 FSTP float ptr [EBP + -0x8]
|
||||
0x007BDE05 FLD float ptr [EBP + 0x8]
|
||||
0x007BDE08 FMUL float ptr [EAX]
|
||||
0x007BDE0A FSTP float ptr [EBP + -0x10]
|
||||
0x007BDE0D FMUL float ptr [EAX + 0x4]
|
||||
0x007BDE10 FLD float ptr [EBP + 0x8]
|
||||
0x007BDE13 FMUL float ptr [EAX + 0x4]
|
||||
0x007BDE16 FSTP float ptr [EBP + -0x4]
|
||||
0x007BDE19 FLD float ptr [EBP + 0x8]
|
||||
0x007BDE1C FMUL float ptr [EAX + 0x8]
|
||||
0x007BDE1F FST float ptr [EBP + 0x8]
|
||||
0x007BDE22 FADD ST0,ST1
|
||||
0x007BDE24 FSUBR float ptr [0x007ff9d8]
|
||||
0x007BDE2A FLD float ptr [EBP + -0x8]
|
||||
0x007BDE2D FADD float ptr [EBP + -0x18]
|
||||
0x007BDE30 FLD float ptr [EBP + -0x10]
|
||||
0x007BDE33 FSUB float ptr [EBP + -0x1c]
|
||||
0x007BDE36 FSTP float ptr [EBP + -0x78]
|
||||
0x007BDE39 MOV EAX,dword ptr [EBP + -0x78]
|
||||
0x007BDE3C FLD float ptr [EBP + -0x8]
|
||||
0x007BDE3F MOV dword ptr [EBP + -0x54],EAX
|
||||
0x007BDE42 FSUB float ptr [EBP + -0x18]
|
||||
0x007BDE45 FSTP float ptr [EBP + -0x74]
|
||||
0x007BDE48 MOV ECX,dword ptr [EBP + -0x74]
|
||||
0x007BDE4B FLD float ptr [EBP + 0x8]
|
||||
0x007BDE4E MOV dword ptr [EBP + -0x4c],ECX
|
||||
0x007BDE51 FADD float ptr [EBP + -0x14]
|
||||
0x007BDE54 FSUBR float ptr [0x007ff9d8]
|
||||
0x007BDE5A FSTP float ptr [EBP + -0x70]
|
||||
0x007BDE5D MOV EDX,dword ptr [EBP + -0x70]
|
||||
0x007BDE60 FLD float ptr [EBP + -0x4]
|
||||
0x007BDE63 MOV dword ptr [EBP + -0x48],EDX
|
||||
0x007BDE66 FADD float ptr [EBP + -0xc]
|
||||
0x007BDE69 FSTP float ptr [EBP + -0x6c]
|
||||
0x007BDE6C MOV EAX,dword ptr [EBP + -0x6c]
|
||||
0x007BDE6F FLD float ptr [EBP + -0x10]
|
||||
0x007BDE72 MOV dword ptr [EBP + -0x44],EAX
|
||||
0x007BDE75 FADD float ptr [EBP + -0x1c]
|
||||
0x007BDE78 FSTP float ptr [EBP + -0x68]
|
||||
0x007BDE7B MOV ECX,dword ptr [EBP + -0x68]
|
||||
0x007BDE7E FLD float ptr [EBP + -0x4]
|
||||
0x007BDE81 MOV dword ptr [EBP + -0x3c],ECX
|
||||
0x007BDE84 FSUB float ptr [EBP + -0xc]
|
||||
0x007BDE87 FSTP float ptr [EBP + -0x64]
|
||||
0x007BDE8A MOV EDX,dword ptr [EBP + -0x64]
|
||||
0x007BDE8D FXCH ST2
|
||||
0x007BDE8F MOV dword ptr [EBP + -0x38],EDX
|
||||
0x007BDE92 FADD float ptr [EBP + -0x14]
|
||||
0x007BDE95 FSUBR float ptr [0x007ff9d8]
|
||||
0x007BDE9B FSTP float ptr [EBP + -0x60]
|
||||
0x007BDE9E FSTP float ptr [EBP + -0x5c]
|
||||
0x007BDEA1 FSTP float ptr [EBP + -0x58]
|
||||
0x007BDEA4 MOV EAX,dword ptr [EBP + -0x60]
|
||||
0x007BDEA7 PUSH ESI
|
||||
0x007BDEA8 LEA EDX,[EBP + -0x5c]
|
||||
0x007BDEAB LEA ECX,[EBP + 0xffffff64]
|
||||
0x007BDEB1 MOV dword ptr [EBP + -0x34],EAX
|
||||
0x007BDEB4 MOV dword ptr [EBP + -0x30],0x0
|
||||
0x007BDEBB MOV dword ptr [EBP + -0x2c],0x0
|
||||
0x007BDEC2 MOV dword ptr [EBP + -0x28],0x0
|
||||
0x007BDEC9 MOV dword ptr [EBP + -0x24],0x0
|
||||
0x007BDED0 MOV dword ptr [EBP + -0x20],0x3f800000
|
||||
0x007BDED7 CALL 0x007bc6a0 << CALL
|
||||
0x007BDEDC MOV ECX,ESI
|
||||
0x007BDEDE MOV EDX,0x8
|
||||
0x007BDEE3 MOV ESI,dword ptr [EAX]
|
||||
0x007BDEE5 MOV dword ptr [ECX],ESI
|
||||
0x007BDEE7 MOV ESI,dword ptr [EAX + 0x4]
|
||||
0x007BDEEA MOV dword ptr [ECX + 0x4],ESI
|
||||
0x007BDEED ADD ECX,0x8
|
||||
0x007BDEF0 ADD EAX,0x8
|
||||
0x007BDEF3 DEC EDX
|
||||
0x007BDEF4 JNZ 0x007bdee3
|
||||
0x007BDEF6 POP ESI
|
||||
0x007BDEF7 MOV ESP,EBP
|
||||
0x007BDEF9 POP EBP
|
||||
0x007BDEFA RET 0x4 << RET
|
||||
|
||||
=== calculateScaledInverseMatrix (0x007BD820, 347 bytes) ===
|
||||
0x007BD820 PUSH EBP
|
||||
0x007BD821 MOV EBP,ESP
|
||||
0x007BD823 SUB ESP,0x94
|
||||
0x007BD829 FLD float ptr [EBP + 0xc]
|
||||
0x007BD82C PUSH ESI
|
||||
0x007BD82D FSUB float ptr [0x007ff9d8]
|
||||
0x007BD833 PUSH EDI
|
||||
0x007BD834 MOV ESI,ECX
|
||||
0x007BD836 FABS
|
||||
0x007BD838 FCOMP float ptr [0x008026bc]
|
||||
0x007BD83E FNSTSW AX
|
||||
0x007BD840 TEST AH,0x5
|
||||
0x007BD843 JP 0x007bd858
|
||||
0x007BD845 MOV EDI,dword ptr [EBP + 0x8]
|
||||
0x007BD848 PUSH EDI
|
||||
0x007BD849 CALL 0x007bd700 << CALL
|
||||
0x007BD84E MOV EAX,EDI
|
||||
0x007BD850 POP EDI
|
||||
0x007BD851 POP ESI
|
||||
0x007BD852 MOV ESP,EBP
|
||||
0x007BD854 POP EBP
|
||||
0x007BD855 RET 0x8 << RET
|
||||
0x007BD858 MOV EAX,dword ptr [ESI + 0x28]
|
||||
0x007BD85B MOV ECX,dword ptr [ESI + 0x24]
|
||||
0x007BD85E MOV EDX,dword ptr [ESI + 0x20]
|
||||
0x007BD861 PUSH EAX
|
||||
0x007BD862 MOV EAX,dword ptr [ESI + 0x18]
|
||||
0x007BD865 PUSH ECX
|
||||
0x007BD866 MOV ECX,dword ptr [ESI + 0x14]
|
||||
0x007BD869 PUSH EDX
|
||||
0x007BD86A MOV EDX,dword ptr [ESI + 0x10]
|
||||
0x007BD86D PUSH EAX
|
||||
0x007BD86E MOV EAX,dword ptr [ESI + 0x8]
|
||||
0x007BD871 PUSH ECX
|
||||
0x007BD872 MOV ECX,dword ptr [ESI + 0x4]
|
||||
0x007BD875 PUSH EDX
|
||||
0x007BD876 MOV EDX,dword ptr [ESI]
|
||||
0x007BD878 PUSH EAX
|
||||
0x007BD879 PUSH ECX
|
||||
0x007BD87A PUSH EDX
|
||||
0x007BD87B LEA ECX,[EBP + -0x70]
|
||||
0x007BD87E CALL 0x005f8d20 << CALL
|
||||
0x007BD883 MOV EAX,dword ptr [EBP + -0x50]
|
||||
0x007BD886 MOV ECX,dword ptr [EBP + -0x5c]
|
||||
0x007BD889 MOV EDX,dword ptr [EBP + -0x68]
|
||||
0x007BD88C PUSH EAX
|
||||
0x007BD88D MOV EAX,dword ptr [EBP + -0x54]
|
||||
0x007BD890 PUSH ECX
|
||||
0x007BD891 MOV ECX,dword ptr [EBP + -0x60]
|
||||
0x007BD894 PUSH EDX
|
||||
0x007BD895 MOV EDX,dword ptr [EBP + -0x6c]
|
||||
0x007BD898 PUSH EAX
|
||||
0x007BD899 MOV EAX,dword ptr [EBP + -0x58]
|
||||
0x007BD89C PUSH ECX
|
||||
0x007BD89D MOV ECX,dword ptr [EBP + -0x64]
|
||||
0x007BD8A0 PUSH EDX
|
||||
0x007BD8A1 MOV EDX,dword ptr [EBP + -0x70]
|
||||
0x007BD8A4 PUSH EAX
|
||||
0x007BD8A5 PUSH ECX
|
||||
0x007BD8A6 PUSH EDX
|
||||
0x007BD8A7 LEA ECX,[EBP + 0xffffff6c]
|
||||
0x007BD8AD CALL 0x005f8d20 << CALL
|
||||
0x007BD8B2 FLD float ptr [EBP + 0xc]
|
||||
0x007BD8B5 FMUL float ptr [EBP + 0xc]
|
||||
0x007BD8B8 MOV ECX,dword ptr [EBP + 0xffffff70]
|
||||
0x007BD8BE MOV EAX,dword ptr [EBP + 0xffffff6c]
|
||||
0x007BD8C4 MOV EDX,dword ptr [EBP + 0xffffff74]
|
||||
0x007BD8CA FDIVR float ptr [0x007ff9d8]
|
||||
0x007BD8D0 MOV dword ptr [EBP + -0x48],ECX
|
||||
0x007BD8D3 MOV ECX,dword ptr [EBP + 0xffffff7c]
|
||||
0x007BD8D9 MOV dword ptr [EBP + -0x4c],EAX
|
||||
0x007BD8DC MOV EAX,dword ptr [EBP + 0xffffff78]
|
||||
0x007BD8E2 MOV dword ptr [EBP + -0x44],EDX
|
||||
0x007BD8E5 MOV EDX,dword ptr [EBP + -0x80]
|
||||
0x007BD8E8 MOV dword ptr [EBP + -0x38],ECX
|
||||
0x007BD8EB MOV ECX,dword ptr [EBP + -0x78]
|
||||
0x007BD8EE MOV dword ptr [EBP + -0x3c],EAX
|
||||
0x007BD8F1 MOV EAX,dword ptr [EBP + -0x7c]
|
||||
0x007BD8F4 MOV dword ptr [EBP + -0x34],EDX
|
||||
0x007BD8F7 MOV EDX,dword ptr [EBP + -0x74]
|
||||
0x007BD8FA PUSH ECX
|
||||
0x007BD8FB MOV dword ptr [EBP + -0x28],ECX
|
||||
0x007BD8FE LEA ECX,[EBP + -0x4c]
|
||||
0x007BD901 MOV dword ptr [EBP + -0x40],0x0
|
||||
0x007BD908 MOV dword ptr [EBP + -0x30],0x0
|
||||
0x007BD90F MOV dword ptr [EBP + -0x2c],EAX
|
||||
0x007BD912 MOV dword ptr [EBP + -0x24],EDX
|
||||
0x007BD915 MOV dword ptr [EBP + -0x20],0x0
|
||||
0x007BD91C MOV dword ptr [EBP + -0x1c],0x0
|
||||
0x007BD923 MOV dword ptr [EBP + -0x18],0x0
|
||||
0x007BD92A MOV dword ptr [EBP + -0x14],0x0
|
||||
0x007BD931 MOV dword ptr [EBP + -0x10],0x3f800000
|
||||
0x007BD938 FSTP float ptr [ESP]
|
||||
0x007BD93B CALL 0x007bdd00 << CALL
|
||||
0x007BD940 FLD float ptr [ESI + 0x30]
|
||||
0x007BD943 FCHS
|
||||
0x007BD945 FSTP float ptr [EBP + -0xc]
|
||||
0x007BD948 FLD float ptr [ESI + 0x34]
|
||||
0x007BD94B FCHS
|
||||
0x007BD94D FSTP float ptr [EBP + -0x8]
|
||||
0x007BD950 FLD float ptr [ESI + 0x38]
|
||||
0x007BD953 LEA EAX,[EBP + -0xc]
|
||||
0x007BD956 FCHS
|
||||
0x007BD958 PUSH EAX
|
||||
0x007BD959 FSTP float ptr [EBP + -0x4]
|
||||
0x007BD95C LEA ECX,[EBP + -0x4c]
|
||||
0x007BD95F CALL 0x007bdc40 << CALL
|
||||
0x007BD964 MOV EAX,dword ptr [EBP + 0x8]
|
||||
0x007BD967 MOV ECX,0x10
|
||||
0x007BD96C LEA ESI,[EBP + -0x4c]
|
||||
0x007BD96F MOV EDI,EAX
|
||||
0x007BD971 MOVSD.REP ES:EDI,ESI
|
||||
0x007BD973 POP EDI
|
||||
0x007BD974 POP ESI
|
||||
0x007BD975 MOV ESP,EBP
|
||||
0x007BD977 POP EBP
|
||||
0x007BD978 RET 0x8 << RET
|
||||
|
||||
=== multiplyMatrix4x4_Basic (0x007507BB, 229 bytes) ===
|
||||
0x007507BB MOV EDI,EDI
|
||||
0x007507BD PUSH EBP
|
||||
0x007507BE MOV EBP,ESP
|
||||
0x007507C0 SUB ESP,0x40
|
||||
0x007507C3 MOV EAX,dword ptr [EBP + 0x8]
|
||||
0x007507C6 PUSH EBX
|
||||
0x007507C7 PUSH ESI
|
||||
0x007507C8 MOV ESI,dword ptr [EBP + 0x10]
|
||||
0x007507CB CMP ESI,EAX
|
||||
0x007507CD PUSH EDI
|
||||
0x007507CE JNZ 0x00750841
|
||||
0x007507D0 CMP dword ptr [EBP + 0xc],EAX
|
||||
0x007507D3 JZ 0x00750833
|
||||
0x007507D5 MOV EBX,dword ptr [EBP + 0x8]
|
||||
0x007507D8 MOV ECX,dword ptr [EBP + 0xc]
|
||||
0x007507DB MOV EDX,dword ptr [EBP + 0x10]
|
||||
0x007507DE MOV EDI,0xfffffffc
|
||||
0x007507E3 MOV ESI,0xfffffff0
|
||||
0x007507E8 FLD float ptr [EDX + EDI*0x4 + 0x10]
|
||||
0x007507EC FLD float ptr [EDX + EDI*0x4 + 0x20]
|
||||
0x007507F0 FLD float ptr [EDX + EDI*0x4 + 0x30]
|
||||
0x007507F4 FLD float ptr [EDX + EDI*0x4 + 0x40]
|
||||
0x007507F8 FLD ST3
|
||||
0x007507FA FMUL float ptr [ECX + ESI*0x4 + 0x40]
|
||||
0x007507FE FLD ST3
|
||||
0x00750800 FMUL float ptr [ECX + ESI*0x4 + 0x44]
|
||||
0x00750804 FLD ST3
|
||||
0x00750806 FMUL float ptr [ECX + ESI*0x4 + 0x48]
|
||||
0x0075080A FLD ST3
|
||||
0x0075080C FMUL float ptr [ECX + ESI*0x4 + 0x4c]
|
||||
0x00750810 FXCH ST3
|
||||
0x00750812 FADDP
|
||||
0x00750814 FXCH ST2
|
||||
0x00750816 FADDP
|
||||
0x00750818 FADDP
|
||||
0x0075081A FSTP float ptr [EBX + ESI*0x4 + 0x40]
|
||||
0x0075081E ADD ESI,0x4
|
||||
0x00750821 JNZ 0x007507f8
|
||||
0x00750823 FFREE ST3
|
||||
0x00750825 FFREE ST2
|
||||
0x00750827 FFREE ST1
|
||||
0x00750829 FFREE ST0
|
||||
0x0075082B LEA EBX,[EBX + 0x4]
|
||||
0x0075082E INC EDI
|
||||
0x0075082F JNZ 0x007507e3
|
||||
0x00750831 JMP 0x00750899
|
||||
0x00750833 PUSH 0x10
|
||||
0x00750835 POP ECX
|
||||
0x00750836 LEA EDI,[EBP + -0x40]
|
||||
0x00750839 MOVSD.REP ES:EDI,ESI
|
||||
0x0075083B LEA ECX,[EBP + -0x40]
|
||||
0x0075083E MOV dword ptr [EBP + 0x10],ECX
|
||||
0x00750841 MOV EBX,dword ptr [EBP + 0x8]
|
||||
0x00750844 MOV ECX,dword ptr [EBP + 0xc]
|
||||
0x00750847 MOV EDX,dword ptr [EBP + 0x10]
|
||||
0x0075084A MOV EDI,0xfffffffc
|
||||
0x0075084F MOV ESI,0xfffffffc
|
||||
0x00750854 FLD float ptr [ECX]
|
||||
0x00750856 FLD float ptr [ECX + 0x4]
|
||||
0x00750859 FLD float ptr [ECX + 0x8]
|
||||
0x0075085C FLD float ptr [ECX + 0xc]
|
||||
0x0075085F FLD ST3
|
||||
0x00750861 FMUL float ptr [EDX + ESI*0x4 + 0x10]
|
||||
0x00750865 FLD ST3
|
||||
0x00750867 FMUL float ptr [EDX + ESI*0x4 + 0x20]
|
||||
0x0075086B FLD ST3
|
||||
0x0075086D FMUL float ptr [EDX + ESI*0x4 + 0x30]
|
||||
0x00750871 FLD ST3
|
||||
0x00750873 FMUL float ptr [EDX + ESI*0x4 + 0x40]
|
||||
0x00750877 FXCH ST3
|
||||
0x00750879 FADDP
|
||||
0x0075087B FXCH ST2
|
||||
0x0075087D FADDP
|
||||
0x0075087F FADDP
|
||||
0x00750881 FSTP float ptr [EBX + ESI*0x4 + 0x10]
|
||||
0x00750885 INC ESI
|
||||
0x00750886 JNZ 0x0075085f
|
||||
0x00750888 FFREE ST3
|
||||
0x0075088A FFREE ST2
|
||||
0x0075088C FFREE ST1
|
||||
0x0075088E FFREE ST0
|
||||
0x00750890 LEA ECX,[ECX + 0x10]
|
||||
0x00750893 LEA EBX,[EBX + 0x10]
|
||||
0x00750896 INC EDI
|
||||
0x00750897 JNZ 0x0075084f
|
||||
0x00750899 POP EDI
|
||||
0x0075089A POP ESI
|
||||
0x0075089B POP EBX
|
||||
0x0075089C LEAVE
|
||||
0x0075089D RET 0xc << RET
|
||||
|
||||
=== buildRotMatFromQuat (0x0074B6BB) NOT FOUND ===
|
||||
|
||||
=== squaredMagnitude (0x004549F0, 31 bytes) ===
|
||||
0x004549F0 FLD float ptr [ECX + 0x8]
|
||||
0x004549F3 FLD float ptr [ECX + 0x4]
|
||||
0x004549F6 FLD float ptr [ECX]
|
||||
0x004549F8 FLD ST0
|
||||
0x004549FA FMUL ST1
|
||||
0x004549FC FLD ST2
|
||||
0x004549FE FMUL ST3
|
||||
0x00454A00 FADDP
|
||||
0x00454A02 FLD ST3
|
||||
0x00454A04 FMUL ST4
|
||||
0x00454A06 FADDP
|
||||
0x00454A08 FSTP ST3
|
||||
0x00454A0A FSTP ST0
|
||||
0x00454A0C FSTP ST0
|
||||
0x00454A0E RET << RET
|
||||
|
||||
Reference in New Issue
Block a user