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

Disassembly:
mov eax, ecx
push ebx
push esi
push edi
push ebp
sub esp, 0x120
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x6c], 0
mov dword [esp + 0xc], ecx
mov eax, dword [eax]
push eax
call fcn.00564fd0
mov dword [esp + 8], eax
cmp byte [esp + 0x13c], 0
movsx eax, word [ebx + 0x5c]
pop ecx
mov edi, dword [eax*4 + 0x83d408]
je 0x5626b0
cmp dword [edi + 0x58], 1
jne 0x562520
lea eax, [edi + 0x74]
jmp 0x562526
lea eax, [edi + 0x8c]
fld dword [0x6030f0]
fadd dword [eax + 8]
fstp dword [esp + 0x18]
call fcn.005a41d0
cmp dword [edi + 0x58], 1
fldz
jne 0x562545
lea ecx, [edi + 0x74]
jmp 0x56254b
lea ecx, [edi + 0x8c]
movzx eax, ax
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
movsx esi, word [ebx + 0x5c]
fmul dword [0x603158]
mov edx, dword [esi*4 + 0x83d408]
mov eax, dword [edx + 0x1c]
fadd dword [ecx + 4]
fstp st(1)
fld dword [eax + 0x20]
fchs
fsub dword [0x603070]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
lea eax, [esp + 0xa8]
fstp dword [esp + 0xb4]
lea ecx, [esp + 0xb4]
fst dword [esp + 0xb8]
lea esi, [ebx + 4]
push ecx
push esi
push eax
fstp st(0)
call fcn.004ba4d0
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
lea eax, [ebx + 0x78]
add esp, 0xc
fldz
fldz
fld dword [0x8e2cb4]
fmul dword [eax + 8]
fstp st(1)
fld dword [0x8e2cb4]
fmul dword [eax + 4]
fstp st(2)
fld dword [0x8e2cb4]
fmul dword [eax]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fadd st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x40]
mov ecx, dword [edi + 0x58]
cmp ecx, 1
jne 0x562625
lea eax, [edi + 0x74]
jmp 0x56262b
lea eax, [edi + 0x8c]
fld dword [0x6030f0]
fadd dword [eax + 8]
cmp ecx, 1
fstp st(1)
jne 0x562640
add edi, 0x74
jmp 0x562646
lea edi, [edi + 0x8c]
mov eax, dword [esp + 4]
fld dword [edi + 4]
fstp st(2)
fld dword [eax + 4]
fchs
fstp dword [esp + 0xcc]
lea eax, [esp + 0xcc]
fld st(1)
push eax
lea eax, [esp + 0xc4]
fstp dword [esp + 0xd4]
fst dword [esp + 0xd8]
fcompp
lea esi, [ebx + 4]
push esi
push eax
call fcn.004ba4d0
mov ecx, dword [esp + 0xd0]
add esp, 0xc
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc8]
jmp 0x562844
cmp dword [edi + 0x58], 1
jne 0x5626c0
lea eax, [edi + 0x74]
jmp 0x5626c6
lea eax, [edi + 0x8c]
fld dword [0x6030f0]
fadd dword [eax + 8]
fstp dword [esp + 0x1c]
call fcn.005a41d0
cmp dword [edi + 0x58], 1
fldz
jne 0x5626e5
lea ecx, [edi + 0x74]
jmp 0x5626eb
lea ecx, [edi + 0x8c]
movzx eax, ax
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
movsx edx, word [ebx + 0x5c]
fmul dword [0x603158]
mov esi, dword [edx*4 + 0x83d408]
mov eax, dword [esi + 0x1c]
fadd dword [ecx + 4]
fstp st(1)
fld dword [0x603070]
fadd dword [eax + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xec], eax
lea eax, [esp + 0xd8]
fstp dword [esp + 0xe4]
lea ecx, [esp + 0xe4]
fst dword [esp + 0xe8]
lea edx, [ebx + 4]
push ecx
push edx
push eax
fstp st(0)
call fcn.004ba4d0
mov eax, dword [esp + 0xe4]
mov esi, dword [esp + 0xe8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], esi
lea eax, [ebx + 0x78]
add esp, 0xc
fldz
fldz
fld dword [0x8e2cb4]
fmul dword [eax + 8]
fstp st(1)
fld dword [0x8e2cb4]
fmul dword [eax + 4]
fstp st(2)
fld dword [0x8e2cb4]
fmul dword [eax]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fadd st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fadd st(1)
fstp dword [esp + 0x40]
mov ecx, dword [edi + 0x58]
cmp ecx, 1
jne 0x5627c3
lea eax, [edi + 0x74]
jmp 0x5627c9
lea eax, [edi + 0x8c]
fld dword [0x6030f0]
fadd dword [eax + 8]
cmp ecx, 1
fstp st(1)
jne 0x5627e0
lea eax, [edi + 0x74]
jmp 0x5627e6
lea eax, [edi + 0x8c]
fld dword [eax + 4]
mov eax, dword [esp + 4]
fstp st(2)
fld dword [eax + 4]
fstp dword [esp + 0xfc]
lea eax, [esp + 0xfc]
fld st(1)
push eax
lea eax, [esp + 0xf4]
fstp dword [esp + 0x104]
fst dword [esp + 0x108]
fcompp
lea edi, [ebx + 4]
push edi
push eax
call fcn.004ba4d0
mov edx, dword [esp + 0x100]
add esp, 0xc
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x34], eax
mov ecx, 0x6facf8
call fcn.0046ba20
test al, al
fldz
fldz
je 0x5628e1
cmp byte [esp + 0x138], 0
jne 0x5628e1
lea ecx, [ebx + 0x14]
fld dword [0x603078]
mov eax, ecx
fmul dword [eax + 8]
fstp st(1)
fld dword [0x603078]
fmul dword [eax + 4]
fstp st(2)
fld dword [0x603078]
fmul dword [eax]
fsubr dword [esp + 0x38]
fstp dword [esp + 0x38]
fld dword [esp + 0x3c]
fsub st(2)
fstp dword [esp + 0x3c]
fld dword [esp + 0x40]
fsub st(1)
fstp dword [esp + 0x40]
fld dword [0x603078]
fmul dword [ecx + 8]
fstp st(1)
fld dword [0x603078]
fmul dword [ecx + 4]
fstp st(2)
fld dword [0x603078]
fmul dword [ecx]
fsubr dword [esp + 0x2c]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fsub st(2)
fstp dword [esp + 0x30]
fld dword [esp + 0x34]
fsub st(1)
fstp dword [esp + 0x34]
fcompp
call fcn.005a41d0
mov edi, eax
call fcn.005a41d0
mov esi, eax
call fcn.005a41d0
movzx eax, ax
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
movzx eax, si
fmul dword [0x603108]
and eax, 0xff
mov dword [esp + 0x20], eax
fsub dword [0x60315c]
movzx eax, di
fadd dword [esp + 0x2c]
and eax, 0xff
fstp dword [esp + 0x2c]
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
lea esi, [esp + 0x2c]
lea eax, [esp + 0x38]
push esi
fmul dword [0x603108]
push eax
fsub dword [0x60315c]
fadd dword [esp + 0x38]
fstp dword [esp + 0x38]
fild dword [esp + 0x28]
fmul dword [0x603108]
fsub dword [0x60315c]
fadd dword [esp + 0x3c]
fstp dword [esp + 0x3c]
call fcn.004a1150
push eax
call fcn.00563660
add esp, 0xc
push 0x3e8
call fcn.004a1150
push eax
call fcn.004a1150
push eax
push 1
push 4
call fcn.00475c50
mov ecx, 0x6facf8
add esp, 0x14
call fcn.0046ba20
test al, al
jne 0x5629f0
lea eax, [esp + 0x38]
mov dword [esp + 0x108], 0
lea edi, [esp + 0x108]
mov dword [esp + 0x10c], 0
push 0
push 0
push 0
push 0
push dword [0x603060]
push 0
push edi
push eax
push 0xc
mov dword [esp + 0x134], 0
call fcn.0050d140
add esp, 0x24
jmp 0x562a02
push dword [0x603108]
push 0x6facf8
call fcn.0046b100
pop ecx
pop ecx
push 0x3e8
call fcn.004a1150
push eax
push ebx
push 2
push 4
call fcn.00475c50
add esp, 0x14
mov dword [esp + 0x114], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
push 0
push 0
push dword [0x603060]
push dword [0x6030a0]
push dword [0x603074]
push dword [0x6030dc]
push dword [esp + 0x134]
push dword [esp + 0x134]
push dword [esp + 0x134]
push dword [esp + 0x64]
push dword [esp + 0x64]
push dword [esp + 0x64]
push 0
call fcn.00510790
mov eax, dword [esp + 0x40]
add esp, 0x34
mov eax, dword [eax]
mov edx, dword [ebx + 0x1a4]
lea ecx, [esp + 0x6c]
lea esi, [esp + 0x2c]
push 0
push 1
push 1
push 1
push 1
push 1
push 1
push edx
push eax
lea eax, [esp + 0x68]
push ecx
push eax
lea eax, [esp + 0x64]
push esi
push eax
call fcn.00564c00
mov eax, dword [0x9412ec]
add esp, 0x34
and eax, 3
jne 0x562ad7
lea eax, [esp + 0x38]
lea edi, [esp + 0x2c]
push edi
push eax
push ebx
call fcn.00564680
add esp, 0xc
cmp dword [esp + 0x6c], 0
fldz
fldz
fldz
fldz
fldz
je 0x562de2
lea esi, [esp + 0x44]
lea edi, [esp + 0x70]
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 + 0x38]
lea edx, [esp + 0x70]
push edx
push eax
call fcn.00518e90
mov eax, dword [esp + 0x74]
pop ecx
mov al, byte [eax + 0x50]
pop ecx
and al, 7
cmp al, 3
jne 0x562d10
mov ebp, dword [esp + 0x6c]
mov eax, dword [ebp + 0x224]
add eax, 0xffffffd0
cmp eax, 1
jbe 0x562d4b
cmp ebp, ebx
je 0x562d4b
lea eax, [ebp + 0x34]
lea edi, [esp + 0x88]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x38]
fsub dword [esp + 0x88]
mov ecx, ebp
fstp dword [esp + 0x94]
fld dword [esp + 0x3c]
fsub dword [esp + 0x8c]
lea eax, [esp + 0x94]
push eax
fstp dword [esp + 0x9c]
call fcn.004cce20
mov dword [esp + 8], eax
call fcn.004a1150
mov ecx, ebp
push eax
call fcn.004ddec0
mov ecx, ebp
call fcn.004e67f0
mov eax, dword [esp + 8]
add eax, 0x1d
push eax
mov eax, dword [ebp + 0x4c]
push 0
push eax
call fcn.00403620
mov dword [eax + 0x18], 0
mov dword [eax + 0x1c], 0x41000000
mov eax, dword [esp + 0x10]
add esp, 0xc
mov eax, dword [eax + 0x14]
lea eax, [eax + eax*2]
movzx ecx, byte [esp + 0x67]
push dword [esp + 8]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
push ecx
push eax
mov ecx, ebp
fstp dword [esp]
push 0x13
push ebx
call fcn.004ea420
fld dword [esp + 0x90]
fadd dword [0x6030a0]
mov ecx, ebp
fstp dword [esp + 0x90]
call fcn.00474cc0
test al, al
je 0x562cc6
cmp byte [0x5f4dd4], 0
je 0x562cc6
xor esi, esi
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x6030a4]
fmul dword [0x603070]
fadd dword [0x6030d8]
fstp dword [esp + 0x7c]
call fcn.005a41d0
and eax, 0xffff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fmul dword [0x6030a4]
fmul dword [0x603070]
fadd dword [0x6030d8]
fstp dword [esp + 0x80]
call fcn.005a41d0
and eax, 0xffff
lea edi, [esp + 0x7c]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x88]
fild dword [esp + 0x20]
push 0
push 0
fmul dword [0x6030a4]
push 0
push 0
fmul dword [0x603070]
push dword [0x603060]
push 0
fadd dword [0x6030d8]
push edi
push eax
push 4
fstp dword [esp + 0xa8]
call fcn.0050d140
inc esi
add esp, 0x24
cmp esi, 4
jb 0x562c17
cmp dword [ebp + 0x32c], 6
jne 0x562cf0
push 0x2710
call fcn.004a1150
push eax
push ebp
push 1
push 0xc
call fcn.00475c50
add esp, 0x14
jmp 0x562d4b
push 0x2710
call fcn.004a1150
push eax
push ebp
push 1
push 0xb
call fcn.00475c50
add esp, 0x14
jmp 0x562d4b
cmp al, 2
jne 0x562d32
mov eax, dword [esp + 4]
fild dword [eax + 0x14]
push eax
fstp dword [esp]
push 0x13
call fcn.004a1150
mov ecx, dword [esp + 0x74]
push eax
call fcn.00551950
jmp 0x562d4b
mov eax, dword [esp + 0x6c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
push eax
call fcn.00504670
add esp, 0x10
mov eax, dword [esp + 0x6c]
mov dl, byte [eax + 0x50]
and dl, 7
movzx eax, dl
dec eax
cmp eax, 4
ja case.default.0x562d62
jmp dword [eax*4 + 0x603214]
lea eax, [esp + 0x44]
push eax
push 0x6a
call fcn.0057c5f0
pop ecx
pop ecx
jmp case.default.0x562d62
mov ebp, dword [esp + 0x6c]
mov ecx, 0x95cdbe
mov eax, dword [ebp + 0x64]
push dword [0x603074]
push 0x38
push eax
call fcn.0057c840
jmp case.default.0x562d62
mov eax, dword [ebp + 0x64]
mov ecx, 0x95cdbe
push dword [0x603074]
push 0x37
push eax
call fcn.0057c840
mov ecx, dword [esp + 0x6c]
push 0x65
call fcn.004e5a10
jmp case.default.0x562d62
lea eax, [esp + 0x44]
push eax
push 0x6b
call fcn.0057c5f0
pop ecx
pop ecx
jmp case.default.0x562d62
lea eax, [esp + 0x44]
push eax
push 0x6c
call fcn.0057c5f0
jmp 0x562e54
mov eax, dword [esp + 4]
fld dword [0x603138]
fdiv dword [eax + 4]
lea eax, [esp + 0x38]
fstp st(5)
fld dword [esp + 0x40]
fstp st(2)
fld dword [esp + 0x34]
fsub st(2)
fstp st(3)
fld dword [esp + 0x3c]
fstp st(1)
fld dword [esp + 0x30]
fsub st(1)
fstp st(4)
fld dword [esp + 0x2c]
fsub dword [esp + 0x38]
fmul st(5)
fadd dword [esp + 0x38]
fstp dword [esp + 0x9c]
fld st(4)
fmul st(4)
fadd st(1)
fstp dword [esp + 0xa0]
fld st(4)
lea ecx, [esp + 0x9c]
fmul st(3)
fadd st(2)
fstp dword [esp + 0xa4]
fcompp
fcompp
push ecx
push eax
fstp st(0)
call fcn.00518e90
pop ecx
pop ecx
call fcn.004a10c0
cmp ebx, eax
jne 0x562e9c
call fcn.004a10c0
mov esi, eax
call fcn.004a10c0
mov edi, eax
call fcn.004a10c0
add eax, 0x34
add esi, 0x34
add edi, 0x34
push dword [esi + 8]
push dword [edi + 4]
push dword [eax]
push 0x80
push 0xf0
push 0
call fcn.00492f60
pop ecx
mov ecx, eax
call fcn.00492290
mov al, 1
add esp, 0x120
pop ebp
pop edi
pop esi
pop ebx
ret 8