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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
mov ebx, eax
mov eax, dword [ebx + 0xdc0]
mov ecx, dword [ebx + 0x4054]
push esi
mov esi, dword [ebx + 0x3e30]
fld qword [esi + eax*8 + 0x138]
mov dword [esp + 0x40], eax
fstp qword [esp + 0x6c]
push edi
fld qword [esi + eax*8 + 0x160]
mov eax, dword [ebx + 0x4050]
add eax, dword [ebx + 0x4048]
fstp qword [esp + 0x68]
push 0
adc ecx, dword [ebx + 0x404c]
add eax, dword [ebx + 0x4040]
push 8
adc ecx, dword [ebx + 0x4044]
mov dword [esp + 0x50], esi
push ecx
push eax
call fcn.004ec6f0
cmp dword [esi + 4], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, esi
je 0x56368a
mov esi, dword [eax + 0x40]
mov ecx, 0x12
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x44], ecx
je 0x56368a
movsx edx, byte [ecx + 0x5d7cc8]
mov eax, dword [esp + 0x44]
movsx ecx, byte [eax + 0x5d7cc8]
push edx
push ecx
push 0x5d8398
push 0
push ebx
call fcn.0055f590
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov edx, 1
cmp dword [esp + 0x44], edx
jne 0x563849
mov ecx, dword [ebx + 0x1900]
mov eax, dword [ecx + 4]
cmp eax, 2
je 0x5636b3
cmp eax, edx
mov dword [esp + 0x58], 0
jne 0x5636b7
mov dword [esp + 0x58], edx
mov edi, dword [ebx + 0x1950]
mov eax, dword [edi + 4]
cmp eax, 2
mov dword [esp + 0x50], eax
je 0x5636d5
cmp eax, edx
mov dword [esp + 0x4c], 0
jne 0x5636d9
mov dword [esp + 0x4c], edx
mov eax, dword [ebx + 0x18f4]
mov esi, dword [eax]
mov eax, esi
sub eax, dword [ecx]
cdq
mov ecx, eax
xor ecx, edx
mov eax, esi
sub eax, dword [edi]
mov esi, dword [esp + 0x48]
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebx + 0x1900]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x38], eax
fld dword [edx + 0x24]
fstp dword [esp + 0x34]
fld dword [edi + 0x24]
mov edi, 4
cmp dword [edx + 4], edi
fstp dword [esp + 0x44]
fld qword [0x600548]
jne 0x563737
fld dword [esp + 0x34]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x34]
cmp dword [esp + 0x50], edi
jne 0x56374f
fld dword [esp + 0x44]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x44]
cmp dword [esp + 0x58], 0
je 0x563775
cmp dword [esp + 0x4c], 0
je 0x56376f
fld dword [esp + 0x44]
fadd dword [esp + 0x34]
fmul st(1)
fadd qword [esi + 0xc8]
jmp 0x56379e
fld dword [esp + 0x44]
jmp 0x56379e
cmp dword [esp + 0x4c], 0
je 0x563782
fld dword [esp + 0x34]
jmp 0x56379e
fild dword [esp + 0x60]
add eax, ecx
fmul dword [esp + 0x44]
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fmul dword [esp + 0x34]
faddp st(1)
fidiv dword [esp + 0x38]
mov eax, dword [ebx + 0x18f4]
fstp dword [esp + 0x34]
cmp dword [eax + 0x20], 0
je 0x5637ba
fmul qword [esi + 0xd0]
fadd dword [esp + 0x34]
jmp 0x5637c6
fstp st(0)
fld dword [esp + 0x34]
fadd qword [esi + 0xd0]
mov edx, dword [ebx + 0x194c]
fstp dword [esp + 0x34]
mov ecx, dword [ebx + edx*4 + 0x194c]
fild dword [ecx + 0xcbc]
mov eax, dword [esi + 0x220]
fmul qword [eax]
fld dword [esp + 0x34]
fld st(0)
fmul qword [eax + 8]
fdivp st(2)
fxch st(1)
fst qword [esi + 0x198]
call fcn.004ec640
mov edx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp qword [edx + 0x190]
mov dword [esi + 0x84], 0
fsub qword [0x5d81c0]
fdiv qword [0x600578]
fld qword [0x5d4f98]
fxch st(1)
call fcn.005b5a70
fmul qword [str.333333]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [eax + 4], 0
fld qword [eax + 0x20]
fld qword [0x5d4f98]
fmul st(1), st(0)
fxch st(1)
fmul qword [eax + 0x18]
fst qword [esp + 0x60]
je 0x563be1
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], eax
je 0x563942
cmp esi, edx
jle 0x563981
mov edx, dword [ebx + 0x22c]
mov ecx, dword [ebx + 0x3e30]
sub ecx, dword [edx + 0x3e30]
mov eax, 0xe6c2b449
imul ecx
add edx, ecx
sar edx, 9
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, 1
mov dword [esp + 0x4c], 1
jle 0x563981
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + edi]
cdq
idiv esi
mov edx, dword [ebx + edx*4 + 0x22c]
cmp dword [edx + 0x430], 0
mov eax, dword [edx + 0x3e30]
fld qword [eax + 0x198]
je 0x563933
fld qword [eax + 0x190]
call fcn.004ec640
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x56391e
fstp st(1)
call fcn.004ec676
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x563935
fstp st(0)
call fcn.004ec676
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x563935
fstp st(0)
add ecx, 1
cmp ecx, esi
mov dword [esp + 0x4c], ecx
jl 0x5638cb
jmp 0x563981
mov eax, dword [ebx + 0x18f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4c], eax
cmp eax, esi
mov eax, dword [esp + 0x48]
jge 0x56395d
fild dword [esp + 0x4c]
jmp 0x563968
lea ecx, [esi - 1]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
fmul qword [eax + 0x18]
fdiv qword [eax + 0x10]
fild qword [esp + 0x58]
faddp st(1)
call fcn.004ec676
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
sbb ecx, dword [esp + 0x94]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
fild qword [esp + 0x38]
fsubr st(1)
fdivrp st(1)
fld qword [0x600548]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x563a3c
fstp st(1)
fstp st(1)
fdivr dword [esp + 0xa0]
mov edx, dword [ebx + 0x18f4]
mov eax, dword [edx + 0x18]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
sub eax, esi
add eax, 1
mov dword [esp + 0x38], eax
fstp dword [esp + 0x34]
fild dword [esp + 0x38]
fcomp qword [edi + 0x10]
fnstsw ax
fldz
test ah, 1
fld1
jne 0x563a61
fxch st(1)
fcom qword [edi + 0x98]
fnstsw ax
test ah, 5
jp 0x563a65
fild dword [esp + 0x4c]
fidiv dword [edi + 0xe0]
fmul qword [0x600568]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x563a52
fstp st(0)
fstp st(1)
fild qword [esp + 0x58]
fdiv qword [edi + 0x98]
fxch st(1)
call fcn.005b5a70
fmul dword [esp + 0x34]
fstp dword [esp + 0x34]
jmp 0x563a69
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x5639bc
fstp st(0)
jmp 0x5639be
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x563a1f
fstp st(0)
jmp 0x563a21
fstp st(1)
jmp 0x563a67
fstp st(0)
fstp st(0)
cmp dword [esp + 0x60], 0
je 0x563bac
fld qword [edi + 0x78]
sub esp, 8
fadd qword [edi + 0x70]
lea esi, [esp + 0x80]
fstp qword [esp + 0x68]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.005620c0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x98]
fld st(0)
fdiv qword [edi + 0x60]
fld qword [0x5d4f98]
fsub st(1)
fld dword [esp + 0x34]
fld st(0)
fmulp st(2)
fxch st(1)
fst qword [esp + 0x38]
fld st(2)
fadd qword [0x5cfbe8]
fld dword [esp + 0xa0]
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x563afe
fstp st(2)
fxch st(1)
fst qword [esp + 0x38]
fxch st(1)
fld qword [0x5d8390]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x563b02
fstp st(0)
fld qword [esp + 0x68]
fld st(0)
fst qword [esp + 0x38]
jmp 0x563b08
fstp st(0)
jmp 0x563adf
fld qword [esp + 0x68]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x563b19
fstp st(0)
fld st(0)
fst qword [esp + 0x38]
fxch st(4)
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x50]
jmp 0x563b27
fxch st(1)
fld qword [esp + 0x50]
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x563b78
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x563b7a
fstp st(0)
fstp st(1)
fmul qword [0x5d8388]
sub esp, 8
lea esi, [esp + 0x80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.005620c0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x38]
fld dword [esp + 0x34]
fld qword [esp + 0x68]
jmp 0x563b25
fstp st(2)
fldz
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x563b94
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x563b96
jmp 0x563b43
fstp st(1)
push ebx
fstp st(0)
push 0x585d30
call fcn.00588460
add esp, 8
mov dword [edi + 0x84], eax
fld dword [esp + 0x34]
fld qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x563bc4
fstp st(1)
jmp 0x563e8d
fstp st(0)
fld qword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x563bda
fstp st(1)
jmp 0x563e8d
fstp st(0)
jmp 0x563e8d
fstp st(0)
push ebx
fstp st(0)
push 0x585d30
fld1
fstp qword [esp + 0x70]
call fcn.00588460
mov ecx, dword [esp + 0x50]
fld qword [ecx + 0xb0]
mov dword [esp + 0x40], eax
fld qword [0x600548]
mov edx, dword [ecx + 0x28]
fmul st(1), st(0)
mov dword [ecx + 0x84], eax
fild dword [esp + 0x40]
mov dword [esp + 0x90], eax
xor eax, eax
add esp, 8
faddp st(2)
mov dword [esp + 0x84], eax
fxch st(1)
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
fst qword [ecx + 0xb0]
mov eax, dword [esp + 0x44]
fld qword [ecx + 0xb8]
mov dword [esp + 0xac], edx
fmulp st(2)
sub esp, 8
fxch st(1)
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
fadd qword [0x5cfbe8]
fst qword [ecx + 0xb8]
cmp dword [ebx + 0x1bc], 1
fdivp st(1)
mov edx, dword [ebx + 0x18f4]
mov edx, dword [edx + 0x18]
fstp dword [esp + 0xbc]
fld1
fstp dword [esp + 0x88]
jne 0x563d01
fld qword [ecx + 0xc0]
fstp qword [esp]
push eax
call fcn.00562d70
fstp dword [esp + 0x40]
mov edi, dword [esp + 0x54]
add esp, 0xc
fld qword [esp + 0x68]
mov esi, dword [esp + 0x44]
cmp esi, 2
jne 0x563dc1
cmp dword [ebx + 0x50], 1
jle 0x563dc1
cmp dword [edi + 0x118], esi
je 0x563dc1
fstp st(0)
sub esp, 8
fld qword [edi + 0x120]
fdiv qword [edi + 0x128]
fstp qword [esp]
call fcn.00562090
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
jmp 0x563e62
fld qword [ecx + 0xa0]
mov esi, edx
fdiv qword [ecx + 0x90]
sub esi, dword [ebx + 4]
add esi, 1
mov dword [esp + 0x40], esi
fstp qword [esp]
push eax
call fcn.00562d70
fstp dword [esp + 0x40]
fild dword [esp + 0x44]
mov edi, dword [esp + 0x54]
add esp, 0xc
fmul qword [edi + 0x18]
fdiv qword [edi + 0x10]
fst qword [esp + 0x70]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x563cb4
mov eax, 0x51eb851f
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
call fcn.005b64f0
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x563d79
fstp st(1)
fld st(0)
jmp 0x563d7b
fxch st(1)
fld qword [0x5d4f98]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x600548]
fstp qword [esp + 8]
fild qword [esp + 0x70]
fsub qword [esp + 0x88]
fxch st(1)
fmul qword [esp + 0x78]
fdivp st(1)
faddp st(1)
fstp qword [esp]
call fcn.00559150
fld dword [esp + 0x4c]
add esp, 0x18
fmul st(1)
fstp dword [esp + 0x34]
jmp 0x563cb8
mov ecx, dword [ebx + 0x4e0]
test ecx, ecx
jle 0x563e46
fld qword [edi + esi*8 + 0xf0]
fdiv qword [edi + 0x188]
fld qword [edi + 0x188]
fmul qword [edi + esi*8 + 0xf0]
fld qword [0x5cfbe0]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x563e05
cmp ecx, 3
jle 0x563e05
fstp st(2)
fld qword [edi + 0x188]
fmulp st(2)
jmp 0x563e1c
fld qword [0x5cfba8]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x563e1c
fdiv qword [edi + 0x188]
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x563e33
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
jmp 0x563e73
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x563e2b
fstp st(0)
fstp dword [esp + 0x34]
jmp 0x563e73
cmp dword [ebx + 0x1bc], 1
fstp st(0)
jne 0x563e73
fld dword [ebx + 0x1d4]
sub esp, 8
fstp qword [esp]
call fcn.00562090
fld dword [ebx + 0x1e8]
add esp, 8
fabs
fdivp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
sub esp, 8
mov eax, esi
fstp qword [esp]
mov esi, ebx
call fcn.005632f0
mov edi, dword [esp + 0x50]
add esp, 8
mov edx, dword [esp + 0x44]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld st(0)
fst qword [edi + 0xe8]
fstp qword [edi + edx*8 + 0xf0]
mov eax, dword [edi + 4]
test eax, eax
je 0x563eb5
cmp dword [edi + 8], 0
je 0x563ec7
mov ecx, dword [ebx + 0x18f4]
cmp dword [ecx + 0x18], 0
jne 0x563ec7
fst qword [edi + 0xf0]
test eax, eax
je 0x563ef2
cmp dword [edi + 8], 0
je 0x563ef2
sub esp, 8
lea esi, [esp + 0x80]
fstp qword [esp]
call fcn.005620c0
fstp qword [edi + 0x198]
fld dword [esp + 0x3c]
add esp, 8
jmp 0x563f1a
mov eax, dword [ebx + 0xdc0]
fild dword [edi + 0x84]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x80]
fmul qword [eax + edx*8]
lea eax, [eax + edx*8]
fld st(1)
fmul qword [eax + 8]
fdivp st(1)
fstp qword [edi + 0x198]
fld qword [edi + 0x198]
call fcn.004ec640
mov ecx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
pop edi
pop esi
pop ebx
fstp qword [ecx + 0x190]
mov esp, ebp
pop ebp
ret