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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x4b4
mov eax, dword [0x59ad00]
xor eax, esp
mov dword [esp + 0x4b0], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, ecx
fld qword [esi + 0xb8]
mov ecx, dword [ebp + 0x18]
fstp qword [esp + 0x74]
push edi
mov edi, dword [ebp + 0xc]
fldz
mov dword [esp + 0x3c], ecx
fst qword [esp + 0xb0]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x38], edx
mov dword [esp + 0x8c], ecx
mov byte [esp + 0x17], 0
mov byte [ecx], 0
cmp edi, ebx
jne 0x457622
fstp st(0)
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c
jle 0x45762e
mov dword [esp + 0x1c], ebx
mov ebx, edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esi + 0x28]
imul eax, eax, 0x68
fld qword [ecx + eax + 8]
fst qword [esp + 0x68]
fld qword [ecx + eax + 0x10]
fst qword [esp + 0x70]
mov edx, dword [esi + 0x28]
add ecx, eax
fld qword [eax + edx + 0x18]
fstp qword [esp + 0x20]
fxch st(2)
fst qword [esp + 0x60]
fst qword [esp + 0x58]
cmp dword [eax + edx], ebx
je 0x457665
cmp dword [ecx + 4], ebx
jne 0x45766f
mov dword [esp + 0x1c], ebx
mov ebx, edi
mov edi, dword [esp + 0x1c]
mov edx, dword [esi + 4]
mov eax, edi
shl eax, 5
fld qword [eax + edx]
fst qword [esp + 0x90]
fld qword [eax + edx + 8]
mov eax, ebx
shl eax, 5
fst qword [esp + 0x98]
fld qword [eax + edx]
fst qword [esp + 0xa0]
fld qword [eax + edx + 8]
fst qword [esp + 0xa8]
mov eax, dword [ecx]
cmp eax, edi
je 0x457795
cmp dword [ecx + 4], edi
je 0x457795
fstp st(4)
fstp st(0)
fstp st(2)
fsubp st(2)
fsubp st(2)
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
call sub.MSVCR100.dll__CIsqrt
fsub qword [esp + 0x20]
fstp qword [esp + 0x30]
fld qword [esp + 0x68]
fsub qword [esp + 0xa0]
fld qword [esp + 0x70]
fsub qword [esp + 0xa8]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
call sub.MSVCR100.dll__CIsqrt
fsub qword [esp + 0x20]
fst qword [esp + 0x28]
fld qword [0x57c850]
fld qword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x457860
fcomp qword [0x57bf38]
fnstsw ax
test ah, 5
jnp 0x4577e2
mov ecx, dword [esp + 0x18]
fstp st(1)
sub esp, 8
fstp qword [esp]
lea eax, [esp + 0x98]
push eax
push ecx
mov ecx, esi
call fcn.0043c040
test al, al
je 0x4577d6
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, esi
mov dword [esp + 0x30], 2
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], edx
call fcn.00436970
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c
fstp st(2)
fstp st(2)
cmp eax, ebx
je 0x457b9f
cmp dword [ecx + 4], ebx
je 0x457b9f
fxch st(2)
fstp qword [esp + 0x30]
fsubp st(2)
fsubp st(2)
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
call sub.MSVCR100.dll__CIsqrt
fsub qword [esp + 0x20]
mov byte [esp + 0x17], 1
fst qword [esp + 0x28]
fld qword [0x57c850]
jmp 0x4577e2
fld qword [0x57c850]
fld qword [esp + 0x28]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 1
jne 0x457867
fld qword [0x57bf38]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x457869
mov eax, dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0xa8]
push edx
push eax
mov ecx, esi
call fcn.0043c040
test al, al
je 0x45786b
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x34]
mov dword [esp + 0x38], ecx
push eax
mov ecx, esi
mov dword [esp + 0x30], 2
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 1
call fcn.00436970
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c
fstp st(0)
jmp 0x4577e2
fstp st(1)
fstp st(0)
sub esp, 0x10
cmp byte [esp + 0x27], 0
je 0x4578e2
fld qword [esp + 0xa0]
lea ecx, [esp + 0xc8]
fsub qword [esp + 0x78]
lea edx, [esp + 0x1c8]
fld qword [esp + 0xa8]
lea eax, [esp + 0xb0]
fsub qword [esp + 0x80]
fxch st(1)
fstp qword [esp + 0x58]
fstp qword [esp + 0x60]
fld qword [esi + 0xf8]
fstp qword [esp + 8]
fld qword [esi + 0xf0]
fstp qword [esp]
push ecx
fldz
push edx
sub esp, 8
fstp qword [esp]
push eax
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0xb8]
push edx
call fcn.0043c0d0
add esp, 0x2c
jmp 0x457939
fld qword [esi + 0xf8]
lea eax, [esp + 0xc8]
fstp qword [esp + 8]
lea ecx, [esp + 0x1c8]
fld qword [esi + 0xf0]
lea edx, [esp + 0xb0]
fstp qword [esp]
push eax
fldz
push ecx
sub esp, 0x18
fst qword [esp + 0x10]
fstp qword [esp + 8]
lea eax, [esp + 0xc0]
fld qword [esp + 0x50]
lea ecx, [esp + 0x98]
fstp qword [esp]
push edx
push eax
push ecx
call fcn.0043ada0
add esp, 0x3c
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], 0
test eax, eax
jle 0x457a31
lea edi, [esp + 0x1b8]
jmp 0x457958
fstp st(0)
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0x14]
fld qword [esp + edx*8 + 0xb8]
push edi
fstp qword [esp + 0x84]
push eax
mov ecx, esi
call fcn.00436f90
fstp qword [esp + 0x48]
fld qword [esp + 0x80]
mov ecx, dword [ebp + 0x14]
mov edx, dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
push edi
push ecx
push edx
mov ecx, esi
call fcn.0043c740
fadd qword [esp + 0x48]
mov eax, dword [esp + 0x1c]
sub esp, 8
fstp qword [esp + 0x50]
mov ecx, esi
fld qword [esp + 0x88]
fstp qword [esp]
push edi
push eax
call fcn.0043ce00
fadd qword [esp + 0x48]
sub esp, 8
mov ecx, esi
fstp qword [esp + 0x50]
fld qword [esp + 0x88]
fstp qword [esp]
push edi
push ebx
call fcn.0043ce00
fadd qword [esp + 0x48]
mov ecx, dword [esp + 0x40]
fst qword [esp + ecx*8 + 0x3b8]
fld qword [esp + 0x78]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x457a17
fstp st(0)
fst qword [esp + 0x78]
fld qword [esp + 0x80]
fstp qword [esp + 0xb0]
fld qword [edi]
fstp qword [esp + 0x58]
fld qword [edi + 8]
fstp qword [esp + 0x60]
jmp 0x457a19
fstp st(1)
inc ecx
add edi, 0x10
mov dword [esp + 0x40], ecx
cmp ecx, dword [esp + 0x44]
jl 0x457956
mov edi, dword [esp + 0x1c]
jmp 0x457a35
fld qword [esp + 0x78]
mov eax, dword [esp + 0x3c]
fld qword [esp + 0x58]
mov ecx, dword [esp + 0x38]
fstp qword [eax]
fld qword [esp + 0x60]
fstp qword [eax + 8]
fld qword [esp + 0xb0]
fstp qword [ecx]
fld qword [0x57c868]
fcom st(1)
fnstsw ax
test ah, 1
jne 0x457a6b
fstp st(0)
fstp st(0)
jmp 0x457bb8
fcom qword [esp + 0x30]
fnstsw ax
test ah, 1
jne 0x457b51
fcomp qword [esp + 0x28]
fnstsw ax
test ah, 1
jne 0x457b53
mov eax, dword [ebp + 0x14]
fstp st(0)
fld qword [esp + 0x68]
lea edx, [esp + 0x58]
fstp qword [esp + 0x58]
push edx
fld qword [esp + 0x74]
push eax
mov ecx, esi
fstp qword [esp + 0x68]
call fcn.00436f90
fstp qword [esp + 0x48]
fld qword [esp + 0x20]
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x18]
sub esp, 8
fstp qword [esp]
lea ecx, [esp + 0x60]
push ecx
push edx
push eax
mov ecx, esi
call fcn.0043c740
fadd qword [esp + 0x48]
sub esp, 8
lea ecx, [esp + 0x60]
fstp qword [esp + 0x50]
fld qword [esp + 0x28]
fstp qword [esp]
push ecx
push edi
mov ecx, esi
call fcn.0043ce00
fadd qword [esp + 0x48]
sub esp, 8
lea edx, [esp + 0x60]
fstp qword [esp + 0x50]
mov ecx, esi
fld qword [esp + 0x28]
fstp qword [esp]
push edx
push ebx
call fcn.0043ce00
fadd qword [esp + 0x48]
fld qword [esp + 0x78]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x457b4d
mov eax, dword [esp + 0x3c]
fld qword [esp + 0x68]
fstp qword [eax]
fld qword [esp + 0x70]
fstp qword [eax + 8]
mov eax, dword [esp + 0x38]
fld qword [esp + 0x20]
fstp qword [eax]
fld qword [0x57c868]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x457b53
fstp st(0)
jmp 0x457bb8
fstp st(1)
jmp 0x457b53
fstp st(0)
fcomp qword [0x57b718]
mov ecx, dword [esp + 0x8c]
mov byte [ecx], 1
fnstsw ax
test ah, 5
jp 0x457b86
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x4b0]
xor ecx, esp
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [esp + 0x3c]
fstp st(2)
mov edx, dword [esp + 0x38]
fstp st(0)
fstp st(0)
fstp qword [eax]
fstp qword [eax + 8]
fld qword [esp + 0x20]
fstp qword [edx]
mov ecx, dword [esp + 0x4bc]
pop edi
pop esi
pop ebx
xor ecx, esp
mov al, 1
call fcn.00551a8e
mov esp, ebp
pop ebp
ret 0x1c