Function at 0x53d530
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x1c8
mov dword [esp + 0x144], 0
lea esi, [esp + 0x144]
lea edi, [esp + 0x30]
mov dword [esp + 0x14c], 0x4012f1aa
mov ebx, ecx
mov dword [esp + 0x148], 0xbfb26e98
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x3c]
mov dword [esp + 0x150], 0
lea esi, [esp + 0x150]
mov dword [esp + 0x154], 0x3fe81062
mov dword [esp + 0x158], 0x403ea7f0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x3c]
fsub dword [esp + 0x30]
mov eax, dword [esp + 0x34]
lea edi, [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
fstp dword [esp + 0x15c]
fld dword [esp + 0x40]
fsub dword [esp + 0x20]
mov dword [esp + 0x24], eax
lea esi, [esp + 0x15c]
fstp dword [esp + 0x160]
fld dword [esp + 0x44]
fsub dword [esp + 0x24]
fstp dword [esp + 0x164]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.004a10c0
cmp ebx, eax
jne 0x53dfb5
movzx eax, byte [0x95cd61]
imul eax, eax, 0x4f
cmp byte [eax*4 + 0x9413c8], 0
jne 0x53dfb5
fld dword [ebx + 0x580]
fstp dword [esp + 8]
fld dword [0x8e2cb4]
fstp dword [esp + 0x10]
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.004930c0
movsx eax, ax
fldz
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
fld dword [0x600810]
fmul dword [esp + 0x10]
fmulp st(1)
fsubr dword [ebx + 0x580]
fstp dword [ebx + 0x580]
fld dword [ebx + 0x580]
fcomp dword [0x6004f8]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x53d67a
fld dword [ebx + 0x580]
fadd dword [0x600814]
fstp dword [ebx + 0x580]
fld dword [ebx + 0x580]
fcomp dword [0x600814]
fnstsw ax
test ah, 0x45
jne 0x53d69f
fld dword [ebx + 0x580]
fsub dword [0x600814]
fstp dword [ebx + 0x580]
fld dword [ebx + 0x580]
fstp st(1)
fld dword [esp + 8]
fcomp st(1)
fnstsw ax
and ah, 0x44
cmp ah, 0x40
je 0x53dfc0
fld st(0)
fsub dword [esp + 8]
fabs
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(1)
push eax
mov ecx, 0x95cdbe
fst dword [esp]
mov eax, dword [ebx + 0x64]
push 0x1a
push eax
fstp st(0)
call fcn.0057c840
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.004934f0
test al, al
fldz
fldz
je 0x53dfe7
movzx edx, byte [0x95cd61]
imul edx, edx, 0x13c
mov eax, dword [edx + 0x9413e0]
add eax, 0x320
cmp dword [0x885b48], eax
jbe 0x53dff0
mov eax, dword [0x885b48]
mov dword [edx + 0x9413e0], eax
fld dword [ebx + 0x580]
fchs
fcos
fnstsw ax
test eax, 0x400
je 0x53d747
call fcn.005a0cb0
fcos
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(2)
fld dword [ebx + 0x580]
fchs
fsin
fnstsw ax
test eax, 0x400
je 0x53d76b
call fcn.005a0cb0
fsin
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
lea edi, [esp + 0x54]
mov dword [esp + 0x170], 0
fst st(1)
fstp dword [esp + 0x168]
lea esi, [esp + 0x168]
fld st(1)
fstp dword [esp + 0x16c]
movsd dword es:[edi], dword [esi]
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x54]
lea ecx, [ebx + 4]
push eax
lea eax, [esp + 0x178]
push ecx
push eax
call fcn.004ba3d0
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], esi
fldz
fldz
fldz
fld dword [ebx + 0x580]
fsin
fnstsw ax
add esp, 0xc
test eax, 0x400
je 0x53d7f8
call fcn.005a0cb0
fsin
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(3)
fld dword [ebx + 0x580]
fcos
fnstsw ax
test eax, 0x400
je 0x53d81a
call fcn.005a0cb0
fcos
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(2)
fld dword [esp + 0x4c]
fst st(1)
fmul st(3)
fld dword [esp + 0x48]
fmul st(3)
fsubrp st(1)
fstp dword [esp + 0x60]
fld st(0)
fmul st(2)
fld dword [esp + 0x48]
fmul st(4)
faddp st(1)
fstp dword [esp + 0x64]
fld dword [esp + 0x50]
fsub dword [0x6004f4]
fstp dword [esp + 0x68]
fld dword [esp + 0x60]
fadd dword [esp + 0x30]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fadd dword [esp + 0x20]
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x184]
fstp dword [esp + 0x68]
fld dword [esp + 0x6c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x6c]
fcompp
lea edx, [ebx + 4]
push edx
push eax
fstp st(0)
call fcn.004ba4d0
lea esi, [esp + 0x18c]
lea edi, [esp + 0x78]
movsd dword es:[edi], dword [esi]
fldz
fldz
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [0x600508]
fmul dword [esp + 0x5c]
fstp st(1)
fld dword [0x600508]
fmul dword [esp + 0x58]
fstp st(2)
fld dword [0x600508]
fmul dword [esp + 0x54]
fsubr dword [ebx + 0x78]
fstp dword [ebx + 0x78]
fld dword [ebx + 0x7c]
fsub st(2)
fstp dword [ebx + 0x7c]
fld dword [ebx + 0x80]
fsub st(1)
fstp dword [ebx + 0x80]
fld dword [ebx + 0x80]
fadd dword [0x60050c]
fstp dword [ebx + 0x80]
fld dword [0x600818]
fmul dword [esp + 0x54]
lea edi, [esp + 0x78]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x18c]
fld dword [0x600818]
fmul dword [esp + 0x58]
lea esi, [esp + 0x18c]
fadd dword [esp + 0x70]
fstp dword [esp + 0x190]
fld dword [0x600818]
fmul dword [esp + 0x5c]
fadd dword [esp + 0x74]
fstp dword [esp + 0x194]
movsd dword es:[edi], dword [esi]
fcompp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x6c]
lea ebp, [esp + 0x78]
push ebp
push eax
call fcn.004a1150
push eax
call fcn.004a10c0
push eax
call fcn.00563200
lea eax, [esp + 0x94]
add esp, 0x10
mov dword [esp + 0xac], 0
lea edi, [esp + 0xac]
lea ecx, [esp + 0x78]
push 0
push 1
push 1
push 1
push 1
push 1
push 1
push edi
push eax
lea eax, [esp + 0x90]
push ecx
push eax
call fcn.004af970
add esp, 0x2c
cmp dword [esp + 0xac], 0
fldz
fldz
je 0x53da29
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], edx
fld dword [esp + 0x80]
fsub dword [esp + 0x74]
fmul dword [0x600634]
fstp st(1)
fld dword [esp + 0x7c]
fsub dword [esp + 0x70]
fmul dword [0x600634]
fstp st(2)
fld dword [esp + 0x78]
fsub dword [esp + 0x6c]
fmul dword [0x600634]
fsubr dword [esp + 0x78]
fstp dword [esp + 0x78]
fld dword [esp + 0x7c]
fsub st(2)
fstp dword [esp + 0x7c]
fld dword [esp + 0x80]
fsub st(1)
fstp dword [esp + 0x80]
fcompp
lea eax, [esp + 0x78]
push 0
push eax
push 8
call fcn.004a1150
push eax
push 0
call fcn.005591c0
add esp, 0x14
fldz
fldz
fld dword [esp + 0x78]
fsub dword [esp + 0x6c]
mov eax, dword [0x64ce9c]
mov dword [esp + 0xb0], eax
fstp st(2)
fld dword [esp + 0x7c]
fsub dword [esp + 0x70]
fst st(1)
fmul st(0)
fld st(2)
fmul st(0)
faddp st(1)
fld dword [esp + 0x80]
fsub dword [esp + 0x74]
fstp st(3)
fld st(2)
fmul st(0)
faddp st(1)
fstp st(2)
fld st(1)
fsqrt
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp st(2)
fld dword [0x600528]
fmul st(2)
fnstcw word [esp + 4]
mov eax, dword [esp + 4]
or byte [esp + 5], 0xc
fldcw word [esp + 4]
mov dword [esp + 4], eax
xor ebp, ebp
fistp dword [esp + 0x28]
fldcw word [esp + 4]
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp], eax
jle 0x53dfd6
fldz
fldz
fldz
nop
fld dword [esp + 0x74]
fstp st(3)
fld dword [esp + 0x80]
fsub st(3)
fstp st(1)
fld dword [esp + 0x70]
fstp st(4)
mov eax, dword [esp]
lea edi, [esp + 0xb4]
fld dword [esp + 0x7c]
mov dword [esp + 0x28], eax
fsub st(4)
fstp st(2)
fild dword [esp + 0x28]
mov dword [esp + 0x28], ebp
fild dword [esp + 0x28]
push 0
push 0
fdivrp st(1)
fstp st(5)
push 0
fld st(4)
fmul st(1)
fstp st(1)
fld dword [esp + 0x84]
fsub dword [esp + 0x78]
push 0
fmul st(5)
fadd dword [esp + 0x7c]
fstp dword [esp + 0x1a8]
fld st(4)
lea esi, [esp + 0x1a8]
fmul st(2)
fadd st(4)
fstp dword [esp + 0x1ac]
fld st(2)
fadd st(1)
fstp dword [esp + 0x1b0]
movsd dword es:[edi], dword [esi]
fcompp
fcompp
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xc0]
mov dword [esp + 0x1b4], 0
lea edi, [esp + 0x1b4]
push eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x1bc], 0
push dword [0x6004e8]
push 0
push edi
push eax
push 0x2e
mov dword [esp + 0x1d4], 0
call fcn.0050d190
inc ebp
add esp, 0x28
cmp ebp, dword [esp]
jl 0x53dfc7
fld dword [esp + 0x78]
fsub dword [esp + 0x6c]
lea edi, [esp + 0xc0]
fstp dword [esp + 0x1b0]
fld dword [esp + 0x7c]
fsub dword [esp + 0x70]
lea esi, [esp + 0x1b0]
fstp dword [esp + 0x1b4]
fld dword [esp + 0x80]
fsub dword [esp + 0x74]
fstp dword [esp + 0x1b8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xc0]
call fcn.004ba560
xor ebp, ebp
nop
mov dword [esp + 0x28], ebp
lea edi, [esp + 0xcc]
fild dword [esp + 0x28]
lea esi, [esp + 0x6c]
fmul dword [0x60081c]
fstp dword [esp + 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.005a41d0
and eax, 0xffff
lea edi, [esp + 0xd8]
mov dword [esp + 0x28], eax
fldz
fild dword [esp + 0x28]
fmul dword [0x6004e0]
fmul dword [0x6004dc]
fadd dword [0x6007fc]
fst st(1)
fmul dword [esp + 0xc0]
fstp dword [esp + 0x1bc]
fld st(0)
fmul dword [esp + 0xc4]
lea esi, [esp + 0x1bc]
fstp dword [esp + 0x1c0]
fld st(0)
fmul dword [esp + 0xc8]
fstp dword [esp + 0x1c4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xd8]
fmul dword [esp + 0xc]
fstp dword [esp + 0xd8]
fld dword [esp + 0xdc]
fmul dword [esp + 0xc]
fstp dword [esp + 0xdc]
fld dword [esp + 0xe0]
fmul dword [esp + 0xc]
fstp dword [esp + 0xe0]
fstp st(0)
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0x28], eax
lea eax, [esp + 0xb0]
fldz
fild dword [esp + 0x28]
push 0
push 3
fmul dword [0x6004e0]
push 0
push 0
fmul dword [0x6004ec]
push eax
push eax
fadd dword [0x6004f4]
fstp st(1)
fmul dword [esp + 0x24]
fst dword [esp]
lea eax, [esp + 0xe4]
lea edx, [esp + 0xf0]
push 0
push edx
push eax
push 0xf
fstp st(0)
call fcn.0050d190
inc ebp
add esp, 0x28
cmp ebp, 0xf
fldz
jl 0x53dfe0
lea esi, [esp + 0x6c]
lea edi, [esp + 0xf0]
mov dword [esp + 0xec], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov ebp, 0xfa
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [ebx + 0x7c]
fst st(1)
fmul st(0)
fld dword [ebx + 0x78]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fld dword [ebx + 0x80]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fsqrt
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst st(1)
fcomp dword [0x60076c]
fnstsw ax
test ah, 0x45
jne 0x53ddcb
fld dword [0x600658]
fmul dword [ebx + 0x78]
mov ebp, 0x7d
fadd dword [esp + 0xf0]
fstp dword [esp + 0xf0]
fld dword [0x600658]
fmul dword [ebx + 0x7c]
fadd dword [esp + 0xf4]
fstp dword [esp + 0xf4]
lea eax, [esp + 0xb0]
push ebp
lea esi, [esp + 0xe8]
push 0
push 0
push 0
push eax
lea eax, [esp + 0x104]
push dword [0x600520]
push 0
push esi
push eax
push 0xc
fstp st(0)
call fcn.0050d190
fld dword [0x6004dc]
fmul dword [esp + 0xe8]
lea eax, [esp + 0xd8]
add esp, 0x28
lea ecx, [esp + 0xe4]
push ebp
fadd dword [esp + 0xf4]
push 0
push 0
fstp dword [esp + 0xfc]
fld dword [0x6004dc]
fmul dword [esp + 0xd0]
push 0
push eax
lea eax, [esp + 0x104]
fadd dword [esp + 0x108]
push dword [0x6004fc]
push 0
fstp dword [esp + 0x110]
fld dword [0x6004dc]
fmul dword [esp + 0xe4]
push ecx
push eax
push 0xc
fadd dword [esp + 0x120]
fstp dword [esp + 0x120]
call fcn.0050d190
fld dword [0x6004e8]
fmul dword [esp + 0xe8]
lea eax, [esp + 0xd8]
add esp, 0x28
lea edi, [esp + 0xe4]
push ebp
fadd dword [esp + 0xf4]
push 0
push 0
fstp dword [esp + 0xfc]
fld dword [0x6004e8]
fmul dword [esp + 0xd0]
push 0
push eax
lea eax, [esp + 0x104]
fadd dword [esp + 0x108]
push dword [0x6005a0]
push 0
fstp dword [esp + 0x110]
fld dword [0x6004e8]
fmul dword [esp + 0xe4]
push edi
push eax
push 0xc
fadd dword [esp + 0x120]
fstp dword [esp + 0x120]
call fcn.0050d190
add esp, 0x28
cmp dword [ebx + 0x3c8], 0
je 0x53dfb5
mov byte [esp + 0x140], 0
mov dword [esp + 0x13c], 0
mov eax, dword [ebx + 0x3c8]
lea ecx, [esp + 0xfc]
add eax, 0x10
push 0
push eax
call fcn.004b8dd0
lea eax, [esp + 0x12c]
lea ecx, [esp + 0xfc]
fld dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 4]
fstp dword [esp + 0x18]
fld dword [eax + 8]
fstp dword [esp + 0x1c]
push dword [ebx + 0x580]
call fcn.004b9370
fld dword [esp + 0x12c]
fadd dword [esp + 0x14]
lea ecx, [esp + 0xfc]
fstp dword [esp + 0x12c]
fld dword [esp + 0x130]
fadd dword [esp + 0x18]
fstp dword [esp + 0x130]
fld dword [esp + 0x134]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x134]
call fcn.004b8ec0
lea ecx, [esp + 0xfc]
call fcn.004b8db0
add esp, 0x1c8
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x53d6e3
fldz
fldz
fldz
fldz
fldz
jmp 0x53dad0
fcompp
jmp 0x53dbb0
fstp st(0)
jmp 0x53dc00
fcompp
jmp 0x53df02
fcompp
jmp 0x53df02