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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x124
fld dword [ebp + 0x10]
push ebx
push esi
fchs
mov esi, eax
fst dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
fst dword [esp + 8]
push edi
fstp dword [esp + 0x18]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
lea eax, [esp + 0x30]
mov ecx, esi
mov dword [esp + 0x40], 0x7f7fffff
mov dword [esp + 0x44], 0x7f7fffff
mov dword [esp + 0x48], 0x7f7fffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0xff7fffff
mov dword [esp + 0x54], 0xff7fffff
mov dword [esp + 0x58], 0xff7fffff
mov dword [esp + 0x5c], 0
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 8]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x18]
fld dword [eax + 0xc]
lea ecx, [esp + 0x10]
fstp dword [esp + 0x1c]
lea edx, [esp + 0x30]
call fcn.00468e90
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 8]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x18]
fld dword [eax + 0xc]
fstp dword [esp + 0x1c]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x30]
call fcn.00468e90
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xb8], edx
mov edx, dword [ebp + 0x10]
mov eax, edx
sub esp, 0x10
mov dword [esp + 0x38], eax
mov ecx, esp
mov dword [ecx], edx
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x30]
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 8]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x18]
fld dword [eax + 0xc]
lea ecx, [esp + 0x10]
fstp dword [esp + 0x1c]
lea edx, [esp + 0x30]
call fcn.00468e90
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xe0], edx
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx], edx
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x3c]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x30]
mov ecx, esi
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x14]
fld dword [eax + 8]
mov dword [esp + 0x10], ecx
fstp dword [esp + 0x18]
fld dword [eax + 0xc]
lea ecx, [esp + 0x10]
fstp dword [esp + 0x1c]
lea edx, [esp + 0x30]
call fcn.00468e90
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x108], edx
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x18]
mov edx, dword [edx]
mov dword [esp + 0x10c], eax
mov eax, 0x1000
mov dword [esp + 0x110], ecx
mov word [esp + 0xa2], ax
mov word [esp + 0xf0], ax
mov word [esp + 0x118], ax
mov word [esp + 0x11a], ax
mov ecx, edx
mov eax, ecx
xor ebx, ebx
shr eax, 0x17
and eax, 0x1fe
cmp eax, 0xff
mov word [esp + 0xa0], bx
mov word [esp + 0xc8], bx
mov word [esp + 0xca], bx
mov word [esp + 0xf2], bx
mov dword [esp + 0xc], ecx
jbe 0x4a7a95
mov eax, 0xff
shl eax, 8
mov esi, ecx
and esi, 0xff
or eax, esi
movzx esi, byte [esp + 0xe]
shl eax, 0x10
or eax, esi
and ecx, 0xff00
or eax, ecx
mov dword [esp + 0xa8], eax
mov ecx, edx
mov eax, ecx
shr eax, 0x17
and eax, 0x1fe
cmp eax, 0xff
mov dword [esp + 0xc], ecx
jbe 0x4a7ad7
mov eax, 0xff
shl eax, 8
mov esi, ecx
and esi, 0xff
or esi, eax
mov eax, dword [esp + 0xc]
shr eax, 0x10
movzx eax, al
shl esi, 0x10
or esi, eax
and ecx, 0xff00
or esi, ecx
mov ecx, edx
mov eax, ecx
shr eax, 0x17
and eax, 0x1fe
cmp eax, 0xff
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc], ecx
jbe 0x4a7b1e
mov eax, 0xff
shl eax, 8
mov esi, ecx
and esi, 0xff
or eax, esi
movzx esi, byte [esp + 0xe]
shl eax, 0x10
or eax, esi
and ecx, 0xff00
or eax, ecx
mov dword [esp + 0xf8], eax
mov ecx, edx
mov eax, ecx
shr eax, 0x17
and eax, 0x1fe
cmp eax, 0xff
mov dword [esp + 0xc], ecx
jbe 0x4a7b60
mov eax, 0xff
mov edx, ecx
and edx, 0xff
shl eax, 8
or eax, edx
mov edx, dword [esp + 0xc]
shr edx, 0x10
movzx edx, dl
shl eax, 0x10
or eax, edx
and ecx, 0xff00
or eax, ecx
push ebx
mov dword [esp + 0x124], eax
mov eax, dword [0xf91614]
mov edx, dword [eax + 8]
push ebx
lea ecx, [edx + 0x20]
push ebx
push edx
mov edi, edx
mov dword [esp + 0x30], edx
mov dword [eax + 8], ecx
lea edx, [esp + 0x3c]
push edx
xor eax, eax
mov ecx, 8
push 1
mov edx, 0x54
rep stosd dword es:[edi], eax
call fcn.00515c30
mov eax, dword [esp + 0x38]
add esp, 0x18
lea ecx, [esp + 0x20]
mov byte [eax + 0x15], 4
push ecx
lea eax, [esp + 0x94]
mov byte [esp + 0x28], 1
call fcn.0050b810
call fcn.00515d10
mov esi, dword [esp + 0x20]
cmp esi, ebx
je 0x4a7d44
mov edx, dword [ebp + 0x14]
mov ax, word [edx]
cmp ax, bx
je 0x4a7d44
cmp ax, 0x400
jae 0x4a7d44
movzx eax, ax
mov edx, eax
shr edx, 5
mov edx, dword [edx*4 + 0x684aac]
mov ecx, eax
and ecx, 0x1f
shr edx, cl
test dl, 1
je 0x4a7d44
lea eax, [eax + eax*2]
cmp dword [eax*8 + 0x67eab8], ebx
setne al
cmp al, bl
je 0x4a7d44
mov ecx, dword [0xf91610]
shl ecx, 6
push 0xfd64e0
add ecx, 0xf9b130
push ecx
lea edx, [esp + 0x58]
push edx
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x70], 0x3f800000
mov dword [esp + 0x5c], 0x3f800000
call fcn.00401680
lea eax, [esp + 0x18]
push eax
mov ecx, 0xfd64e0
lea edx, [esp + 0x40]
mov dword [esp + 0x1c], 0x3f
call fcn.00498ef0
mov eax, dword [esp + 0x1c]
add esp, 0x10
cmp eax, ebx
jne 0x4a7d44
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xc]
mov eax, dword [ebp + 0xc]
push 0x1fc20
push ecx
mov ecx, dword [eax + 0x4ec]
push edx
mov edx, dword [ebp + 0x14]
xor eax, eax
mov ax, word [edx]
push ebx
push ecx
push esi
push eax
push 0x64ca10
call fcn.004ac940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14