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

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
push 2
mov esi, ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
call fcn.004f87d0
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
mov dl, byte [edi + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [0x7a39fc]
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x13], dl
mov ecx, dword [eax + 8]
call fcn.004aedb0
mov ecx, dword [0x7a39fc]
mov edx, dword [ecx + 8]
mov ecx, dword [edx + 4]
mov ebp, eax
mov eax, dword [esi + 4]
push eax
call fcn.004b2a50
mov ecx, dword [0x7a39fc]
mov edx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
mov ebx, eax
push edx
mov dword [esp + 0x70], ebx
call fcn.004ae760
mov dword [esp + 0x18], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x94]
cmp eax, 1
je 0x5178b6
mov ecx, esi
call fcn.0063e7f0
cmp eax, 1
je 0x5178b6
mov ecx, esi
call fcn.004ef890
cmp eax, 1
je 0x5178b6
mov eax, dword [esp + 0x18]
test eax, eax
je 0x5178b6
cmp dword [eax + 0x268], 0x7f000000
jne 0x5178d8
add eax, 0xa0
push eax
lea ebx, [esi + 0x90]
lea ecx, [esp + 0x3c]
push ebx
push ecx
call fcn.00423bc0
fld dword [esp + 0x4c]
fmul dword [esp + 0x4c]
add esp, 0xc
fld dword [esp + 0x3c]
fmul dword [esp + 0x3c]
faddp st(1)
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fcom dword [0x747c50]
fnstsw ax
test ah, 0x41
jne 0x51772d
fcomp dword [0x73f404]
mov ebp, 1
fnstsw ax
test ah, 1
je 0x517556
mov ebp, dword [esp + 0x6c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [esp + 0x63]
push edx
push 1
lea eax, [esp + 0x74]
push eax
xor edx, edx
mov dx, word [edi + 0x6c]
push 3
lea ecx, [esp + 0x74]
push ecx
push 3
mov ecx, esi
push edx
push 7
call fcn.004ccb00
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
xor ecx, ecx
mov cx, word [edi + 0x6c]
push 0
lea eax, [esp + 0x74]
push eax
push 3
push ecx
push 0x13
mov ecx, esi
call fcn.004ccb00
mov edx, dword [esp + 0x18]
add edx, 0xa0
push edx
lea eax, [esp + 0x54]
push ebx
push eax
call fcn.00423bc0
push eax
lea ecx, [esp + 0x6c]
push ecx
call fcn.004ab180
mov edx, dword [eax]
mov dword [esp + 0x4c], edx
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x64]
push eax
add ecx, 0xa0
mov dword [esp + 0x58], edx
mov dword [esp + 0x70], edx
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.00423b90
mov ecx, dword [eax]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 4]
add esp, 0x20
mov dword [esp + 0x30], edx
mov eax, dword [eax + 8]
lea ecx, [esp + 0x44]
push ecx
push 1
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x340]
push eax
push 0x3f000000
lea edx, [esp + 0x3c]
push edx
mov ecx, esi
call fcn.004cb120
mov ecx, eax
call fcn.004be860
cmp eax, 1
jne 0x5176a5
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
jmp 0x5176c2
mov eax, dword [esp + 0x18]
add eax, 0xa0
mov ecx, dword [eax]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
push 0
push 0
push 0
mov edx, dword [esi + 0x8c]
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
xor ecx, ecx
mov cx, word [edi + 0x6c]
push 0x7f000000
push edx
lea eax, [esp + 0x68]
push eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
push ecx
mov ecx, esi
mov dword [esp + 0x9c], 0
call fcn.004f8a50
mov eax, dword [0x745dc0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4
mov eax, dword [esi + 0x98c]
fstp st(0)
xor ebx, ebx
cmp eax, ebx
jne 0x517837
fld dword [esp + 0x34]
mov ebp, 1
fcomp dword [0x73d764]
mov dword [esi + 0x98c], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], 0x3f800000
mov dword [esp + 0x24], 0x3fc00000
fnstsw ax
mov dword [esp + 0x6c], 0x274c
test ah, 0x41
je 0x51777f
mov dword [esp + 0x6c], 0x274b
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea edx, [esp + 0x63]
push edx
push ebp
lea eax, [esp + 0x74]
push eax
xor edx, edx
mov dx, word [edi + 0x6c]
push 3
lea ecx, [esp + 0x74]
push ecx
push 3
mov ecx, esi
push edx
push 7
call fcn.004ccb00
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x68]
push eax
push ebp
lea ecx, [esp + 0x74]
push ecx
push 2
xor ecx, ecx
mov cx, word [edi + 0x6c]
lea edx, [esp + 0x80]
push edx
push 2
lea eax, [esp + 0xcc]
push eax
push ebp
push ecx
push 6
mov ecx, esi
call fcn.004ccb00
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
xor eax, eax
mov ax, word [edi + 0x6c]
push ebx
lea edx, [esp + 0x74]
push edx
push 3
mov ecx, esi
push eax
push 0x13
call fcn.004ccb00
mov eax, dword [0x745dc0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4
movzx ecx, byte [esp + 0x13]
mov edx, dword [esp + 0x1c]
push ecx
push edx
push 0x7f000000
lea eax, [esp + 0x24]
push eax
mov ecx, esi
call fcn.005158e0
cmp eax, 1
mov eax, dword [esp + 0x6c]
jne 0x517889
cmp eax, ebx
je 0x517874
cmp ebp, ebx
je 0x517874
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
push ecx
push edx
mov ecx, ebp
call fcn.0056fc50
pop edi
mov dword [esi + 0x98c], ebx
mov eax, dword [0x745dc0]
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4
cmp eax, ebx
je 0x5178a1
cmp ebp, ebx
je 0x5178a1
mov ecx, dword [esp + 0x14]
mov edx, dword [eax + 4]
push ecx
push edx
mov ecx, ebp
call fcn.0056fcb0
pop edi
mov dword [esi + 0x98c], ebx
mov eax, dword [0x745dc4]
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4
test ebp, ebp
je 0x5178ce
test ebx, ebx
je 0x5178ce
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 4]
push eax
push ecx
mov ecx, ebp
call fcn.0056fcb0
mov dword [esi + 0x98c], 0
mov eax, dword [0x745dc4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 4