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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28c
push ebx
push esi
mov esi, ecx
mov eax, dword [esi]
push edi
call dword [eax + 0xe4]
test al, al
je 0x53282d
mov eax, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call dword [eax + 0x48]
mov eax, dword [esi + 4]
xor ebx, ebx
cmp dword [eax + 8], ebx
je 0x5321ef
fld dword [esi + 0x98]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esi + 0x9c]
fadd dword [esp + 0x20]
fstp dword [esp + 0x20]
mov eax, dword [esi]
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x198]
push ecx
mov ecx, esi
call dword [eax + 0x54]
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
call dword [eax + 0x50]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x11944]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
mov eax, dword [eax + 0x11948]
mov dword [esp + 0x28], eax
fdiv qword [0x6a1590]
fstp dword [esp + 0x10]
fild dword [esp + 0x2c]
fmul dword [esp + 0x10]
call fcn.00631650
fild dword [esp + 0x30]
mov dword [esp + 0x2c], eax
fmul dword [esp + 0x10]
call fcn.00631650
fld1
fst dword [esp + 0x90]
mov dword [esp + 0x30], eax
fldz
fst dword [esp + 0x94]
fst dword [esp + 0x98]
fst dword [esp + 0x9c]
fst dword [esp + 0xa0]
fst dword [esp + 0xa8]
fst dword [esp + 0xac]
fst dword [esp + 0xb0]
fst dword [esp + 0xb4]
fst dword [esp + 0xbc]
fxch st(1)
fst dword [esp + 0xa4]
fst dword [esp + 0xb8]
fild dword [esp + 0x40]
fchs
fstp dword [esp + 0xc0]
fild dword [esp + 0x44]
fchs
fstp dword [esp + 0xc4]
fxch st(1)
fst dword [esp + 0xc8]
fst dword [esp + 0x154]
fst dword [esp + 0x158]
fst dword [esp + 0x15c]
fst dword [esp + 0x160]
fst dword [esp + 0x168]
fst dword [esp + 0x16c]
fst dword [esp + 0x170]
fst dword [esp + 0x174]
fst dword [esp + 0x17c]
fxch st(1)
fst dword [esp + 0xcc]
fst dword [esp + 0x150]
fst dword [esp + 0x164]
fst dword [esp + 0x178]
fild dword [esp + 0x2c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fchs
fstp dword [esp + 0x180]
fild dword [esp + 0x30]
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fchs
fstp dword [esp + 0x184]
fxch st(1)
fst dword [esp + 0x188]
sub esp, 0x40
fxch st(1)
fst dword [esp + 0x1cc]
lea eax, [esp + 0x1d8]
fst dword [esp + 0x3c]
fxch st(1)
fst dword [esp + 0x38]
fld dword [esp + 0x4c]
fstp dword [esp + 0x34]
fld dword [esp + 0x54]
fstp dword [esp + 0x30]
fst dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x28]
fst dword [esp + 0x24]
fst dword [esp + 0x20]
fst dword [esp + 0x1c]
fst dword [esp + 0x18]
fld dword [esp + 0x78]
fstp dword [esp + 0x14]
fst dword [esp + 0x10]
fst dword [esp + 0xc]
fst dword [esp + 8]
fstp dword [esp + 4]
fld dword [esp + 0x7c]
fstp dword [esp]
call fcn.0046ea08
fld1
fst dword [esp + 0xd0]
fldz
fst dword [esp + 0xd4]
fst dword [esp + 0xd8]
fst dword [esp + 0xdc]
fst dword [esp + 0xe0]
fst dword [esp + 0xe8]
fst dword [esp + 0xec]
fst dword [esp + 0xf0]
fst dword [esp + 0xf4]
fst dword [esp + 0xfc]
fxch st(1)
fst dword [esp + 0xe4]
fst dword [esp + 0xf8]
fld dword [esp + 0x10]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x100]
fld dword [esp + 0x10]
fmul dword [esp + 0x20]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x104]
fxch st(1)
fst dword [esp + 0x108]
fst dword [esp + 0x54]
fst dword [esp + 0x58]
fst dword [esp + 0x5c]
fst dword [esp + 0x60]
fst dword [esp + 0x68]
fst dword [esp + 0x6c]
fst dword [esp + 0x70]
fst dword [esp + 0x74]
fst dword [esp + 0x7c]
fxch st(1)
fst dword [esp + 0x10c]
fst dword [esp + 0x50]
fst dword [esp + 0x64]
fst dword [esp + 0x78]
fild dword [esi + 0xb00]
fadd dword [esp + 0x1c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul dword [esp + 0x10]
fstp dword [esp + 0x80]
fld dword [esp + 0x14]
fstp dword [esp + 0x84]
fxch st(1)
fst dword [esp + 0x88]
fst dword [esp + 0x110]
fst dword [esp + 0x114]
fst dword [esp + 0x118]
fst dword [esp + 0x11c]
fst dword [esp + 0x120]
fst dword [esp + 0x124]
lea edi, [esi + 0xbc]
fst dword [esp + 0x128]
mov ecx, edi
fst dword [esp + 0x12c]
lea edx, [esp + 0x110]
fst dword [esp + 0x130]
fst dword [esp + 0x134]
fst dword [esp + 0x138]
fst dword [esp + 0x13c]
fst dword [esp + 0x140]
fst dword [esp + 0x144]
fst dword [esp + 0x148]
fstp dword [esp + 0x14c]
fstp dword [esp + 0x8c]
call fcn.0046e8f7
test eax, eax
je 0x53256d
lea eax, [esp + 0x110]
call fcn.00473ffa
mov ecx, edi
call fcn.00404580
lea eax, [esp + 0xd0]
push eax
push edi
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0x268]
lea edx, [esp + 0xa0]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x224]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x1e0]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x114]
call fcn.004044d0
lea eax, [esp + 0x50]
push eax
push edi
lea eax, [esp + 0x1a0]
push eax
lea eax, [esp + 0x15c]
push eax
lea eax, [esp + 0x1e8]
lea edx, [esp + 0xa0]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x224]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x1a0]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x94]
call fcn.004044d0
lea ecx, [esp + 0xd0]
call fcn.00404620
lea ecx, [esp + 0x198]
call fcn.00404620
fld1
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x1c]
lea eax, [esp + 0x5c]
fstp dword [esp + 4]
fld dword [esp + 0x1c]
fstp dword [esp]
push eax
call fcn.00474095
lea edi, [esi + 0x108]
add esp, 0x10
mov eax, edi
call fcn.00531dbd
test al, al
jne 0x5327fb
cmp byte [esi + 0x84], bl
je 0x5327f2
mov eax, dword [edi]
mov ecx, dword [esi + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x10c]
lea edx, [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
fild dword [eax]
mov ecx, dword [esi + 0x54]
mov eax, dword [ecx]
fidiv dword [esp + 0x14]
lea edx, [esp + 0x48]
push edx
fstp dword [esp + 0x28]
call dword [eax + 0x1c]
fild dword [eax + 4]
mov eax, dword [edi + 4]
imul eax, dword [edi]
fidiv dword [esp + 0x18]
fstp dword [esp + 0x28]
test eax, eax
jle 0x53282d
add esi, 0x58
mov dword [esp + 0x48], esi
xor esi, esi
mov eax, ebx
fldz
cdq
idiv dword [esp + 0x14]
sub esp, 0xc
fstp dword [esp + 8]
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
mov dword [esp + 0x24], edx
lea eax, [esp + 0x1e4]
fmul dword [esp + 0x34]
fadd dword [esp + 0x2c]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 4]
fild dword [esp + 0x24]
fmul dword [esp + 0x30]
fadd dword [esp + 0x28]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.0047402e
add esp, 0x10
lea ecx, [esp + 0xd0]
call fcn.00404580
lea eax, [edi + 0x9e4]
cmp dword [eax], 0
jne 0x532747
and dword [esp + 0xc], 0
jmp 0x532755
mov eax, dword [eax]
lea ecx, [eax + esi]
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0xc], eax
fldz
sub esp, 0xc
fst dword [esp + 8]
lea eax, [esp + 0x1e4]
fstp dword [esp + 4]
fild dword [esp + 0x18]
fmul dword [esp + 0x1c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
push eax
call fcn.0047402e
add esp, 0x10
lea ecx, [esp + 0x198]
call fcn.00404580
fldz
push dword [esp + 0x34]
lea eax, [esp + 0x19c]
push dword [esp + 0x1c]
lea edx, [esp + 0x58]
push 0xffffffffffffffff
push ecx
push ecx
fst dword [esp + 4]
fstp dword [esp]
push eax
lea eax, [esp + 0xe8]
push eax
lea eax, [esp + 0x1f4]
call fcn.004044d0
mov edx, eax
lea eax, [esp + 0x230]
call fcn.004044d0
push eax
mov eax, dword [esp + 0x60]
call fcn.0046d870
mov eax, dword [edi + 4]
imul eax, dword [edi]
inc ebx
add esi, 0x28
cmp ebx, eax
jl 0x5326ca
jmp 0x53282d
lea eax, [esp + 0x110]
jmp 0x532802
lea eax, [esp + 0x90]
fldz
mov esi, dword [esi + 0x54]
mov edi, dword [esi]
push 0xffffffffffffffff
push ecx
push ecx
fst dword [esp + 4]
lea edx, [esp + 0x5c]
fstp dword [esp]
push eax
lea eax, [esp + 0x1e8]
add edi, 0x5c
call fcn.004044d0
push eax
mov ecx, esi
call dword [edi]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret