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


=== IsParticleBufferEmpty (0x007B5F60, 59 bytes) ===
  0x007B5F60  8B 41 64                 MOV EAX,dword ptr [ECX + 0x64]
  0x007B5F63  85 C0                    TEST EAX,EAX
  0x007B5F65  53                       PUSH EBX
  0x007B5F66  56                       PUSH ESI
  0x007B5F67  57                       PUSH EDI
  0x007B5F68  74 09                    JZ 0x007b5f73
  0x007B5F6A  5F                       POP EDI
  0x007B5F6B  5E                       POP ESI
  0x007B5F6C  B8 01 00 00 00           MOV EAX,0x1
  0x007B5F71  5B                       POP EBX
  0x007B5F72  C3                       RET  << RET
  0x007B5F73  8B 79 7C                 MOV EDI,dword ptr [ECX + 0x7c]
  0x007B5F76  33 F6                    XOR ESI,ESI
  0x007B5F78  85 FF                    TEST EDI,EDI
  0x007B5F7A  76 19                    JBE 0x007b5f95
  0x007B5F7C  8D 99 80 00 00 00        LEA EBX,[ECX + 0x80]
  0x007B5F82  8B 0B                    MOV ECX,dword ptr [EBX]
  0x007B5F84  E8 D7 FF FF FF           CALL 0x007b5f60 << CALL
  0x007B5F89  85 C0                    TEST EAX,EAX
  0x007B5F8B  75 DD                    JNZ 0x007b5f6a
  0x007B5F8D  46                       INC ESI
  0x007B5F8E  83 C3 04                 ADD EBX,0x4
  0x007B5F91  3B F7                    CMP ESI,EDI
  0x007B5F93  72 ED                    JC 0x007b5f82
  0x007B5F95  5F                       POP EDI
  0x007B5F96  5E                       POP ESI
  0x007B5F97  33 C0                    XOR EAX,EAX
  0x007B5F99  5B                       POP EBX
  0x007B5F9A  C3                       RET  << RET
