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

Disassembly:
sub esp, 0xdc
push ebx
push ebp
push esi
mov esi, eax
mov eax, dword [esp + 0xec]
movsx ecx, ax
shr eax, 0x10
mov dword [esp + 0x44], ecx
movsx edx, ax
fild dword [esp + 0x44]
mov dword [esp + 0x34], edx
push edi
mov edi, dword [esp + 0xf4]
fst qword [esp + 0x70]
fstp qword [esp + 0x50]
xor ebp, ebp
fild dword [esp + 0x38]
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x34]
fstp qword [esp + 0x5c]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], 9
mov dword [esp + 0x1c], 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], edi
call fcn.00483860
add esp, 4
test eax, eax
je 0x4a58d8
mov eax, dword [esp + 0x30]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x28]
lea ebx, [esp + 0x3c]
call fcn.00483940
add esp, 4
test eax, eax
je 0x4a58d8
lea edi, [esp + 0xf0]
call fcn.004a5780
test eax, eax
je 0x4a58d1
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
mov dword [0x695344], eax
mov eax, dword [esp + 0x40]
mov dword [0x695340], edx
mov edx, dword [esp + 0x3c]
mov dword [0x695350], ecx
mov ecx, dword [esp + 0x44]
mov dword [0x695358], eax
mov dword [0x695348], 0x70
mov dword [0x695354], edx
mov dword [0x69535c], ecx
lea eax, [ebp + 1]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xdc
ret
mov edi, dword [esp + 0xf4]
mov eax, dword [esi + 0xc]
cmp eax, 3
je 0x4a58e9
cmp eax, 0xc
je 0x4a58e9
mov ebx, edi
jmp 0x4a58f5
mov ebx, esi
mov dword [esp + 0x20], 1
mov esi, edi
mov edi, dword [edi + 0xc]
cmp edi, 3
mov dword [0x695340], esi
mov dword [0x695344], ebx
je 0x4a590e
cmp edi, 0xc
jne 0x4a5913
add dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
mov edi, 1
cmp eax, edi
jne 0x4a592a
mov dword [esp + 0x14], 0xb
jmp 0x4a5937
cmp eax, 2
jne 0x4a5937
mov dword [esp + 0x14], 0xd
mov eax, dword [esi + 0xc]
cmp eax, 2
je 0x4a5979
cmp eax, 9
je 0x4a5979
cmp eax, 0xc
jne 0x4a596f
lea edx, [esp + 0x38]
push 0
push edx
lea ecx, [esp + 0x80]
mov eax, esi
call fcn.00442990
add esp, 8
test eax, eax
je 0x4a596f
lea eax, [esp + 0x78]
mov dword [esp + 0x24], eax
jmp 0x4a5994
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
jmp 0x4a599a
lea ecx, [esi + 0xf0]
mov esi, dword [esi + 0x10]
lea edx, [esi + esi*2]
mov eax, dword [edx*8 + 0x62e3a0]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], edi
mov ebp, edi
mov eax, dword [ebx + 0xc]
cmp eax, 2
je 0x4a59de
cmp eax, 9
je 0x4a59de
lea edi, [ebp*8]
sub edi, ebp
lea ecx, [esp + ebp*4 + 0x38]
push 0
lea edi, [esp + edi*8 + 0x7c]
push ecx
mov ecx, edi
mov eax, ebx
call fcn.00442990
add esp, 8
test eax, eax
mov eax, dword [esp + 0x2c]
je 0x4a59d5
mov dword [esp + ebp*4 + 0x24], edi
jmp 0x4a59fd
mov dword [esp + eax*4 + 0x30], ebx
add eax, 1
jmp 0x4a59fd
mov eax, dword [ebx + 0x10]
lea eax, [eax + eax*2]
mov ecx, dword [eax*8 + 0x62e3a0]
mov eax, dword [esp + 0x2c]
lea edx, [ebx + 0xf0]
mov dword [esp + ebp*4 + 0x24], edx
mov dword [esp + ebp*4 + 0x38], ecx
test eax, eax
jne 0x4a5a57
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x54]
push edx
mov edx, dword [esp + 0x30]
push eax
call fcn.00442a20
add esp, 0xc
test eax, eax
je 0x4a5c25
lea edi, [esp + 0xf0]
lea ebx, [esp + 0x50]
call fcn.004a5780
test eax, eax
je 0x4a5c25
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], 1
mov dword [0x695348], ecx
jmp 0x4a5bfe
cmp eax, 1
jne 0x4a5b03
cmp dword [esp + 0x20], 2
jne 0x4a5a76
cmp dword [esp + 0x4c], 0
jne 0x4a5a76
mov dword [esp + 0x18], 0xffffffff
mov esi, dword [esp + 0x38]
lea ebx, [esp + 0x50]
mov ebp, 2
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
push 0
push ebx
push edx
push esi
call fcn.00442ee0
add esp, 0x10
test eax, eax
je 0x4a5aea
mov edi, dword [0x695644]
fld qword [ebx]
add edi, 3
call fcn.005d9ed0
sub eax, dword [esp + 0x48]
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jg 0x4a5aea
fld qword [ebx + 8]
call fcn.005d9ed0
movsx ecx, word [esp + 0xf2]
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jg 0x4a5aea
mov edx, dword [esp + 0x14]
add dword [esp + 0x1c], 1
mov dword [0x695348], edx
add ebx, 0x10
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], 1
neg eax
sub ebp, 1
mov dword [esp + 0x18], eax
jne 0x4a5a83
jmp 0x4a5b83
lea ebx, [esp + 0x50]
mov ebp, 2
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push ebx
push ecx
call fcn.004433d0
add esp, 8
test eax, eax
je 0x4a5b6f
mov edi, dword [0x695644]
fld qword [ebx]
add edi, 3
call fcn.005d9ed0
sub eax, dword [esp + 0x48]
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jg 0x4a5b6f
fld qword [ebx + 8]
call fcn.005d9ed0
movsx edx, word [esp + 0xf2]
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, edi
jg 0x4a5b6f
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 1
mov dword [0x695348], eax
add ebx, 0x10
mov ecx, dword [esp + 0x18]
add dword [esp + 0x14], 1
neg ecx
sub ebp, 1
mov dword [esp + 0x18], ecx
jne 0x4a5b0c
mov eax, dword [esp + 0x1c]
cmp eax, 2
jne 0x4a5bfa
fld qword [esp + 0x50]
movsx edx, word [esp + 0xf2]
fld qword [esp + 0x70]
mov dword [esp + 0x38], edx
fsub st(1), st(0)
fild dword [esp + 0x38]
fld qword [esp + 0x58]
fsub st(1)
fmul st(0), st(0)
fld st(3)
fmulp st(4)
faddp st(3)
fld qword [esp + 0x60]
fsubrp st(2)
fsubr qword [esp + 0x68]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fcompp
fnstsw ax
test ah, 5
jp 0x4a5bf1
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x4a5bfe
sub dword [0x695348], 1
jmp 0x4a5bfe
test eax, eax
jle 0x4a5c25
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [0x695350], ecx
mov ecx, dword [esp + 0x5c]
mov dword [0x695354], edx
mov dword [0x695358], eax
mov dword [0x69535c], ecx
pop edi
xor eax, eax
cmp dword [esp + 0x18], eax
pop esi
pop ebp
setg al
pop ebx
add esp, 0xdc
ret