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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x154
mov ecx, dword [ebp + 0xc]
push ebx
push esi
mov esi, eax
push edi
add ecx, 0x150
lea eax, [esp + 0x20]
mov dword [esp + 0x60], 0x7f7fffff
mov dword [esp + 0x64], 0x7f7fffff
mov dword [esp + 0x68], 0x7f7fffff
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0xff7fffff
mov dword [esp + 0x74], 0xff7fffff
mov dword [esp + 0x78], 0xff7fffff
mov dword [esp + 0x7c], 0
call fcn.00473a30
mov ecx, eax
lea eax, [esp + 0x120]
call fcn.00407fe0
fld dword [esi + 4]
mov eax, dword [esi]
fstp dword [esp + 0x154]
fld dword [esi + 8]
sub esp, 0x10
fstp dword [esp + 0x168]
fld dword [ebp + 0x18]
mov dword [esp + 0x160], eax
fchs
mov ecx, esp
fst dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
fst dword [esp + 0x2c]
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov dword [ecx + 4], eax
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x130]
mov dword [esp + 0x16c], 0x3f800000
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x20], ecx
fstp dword [esp + 0x24]
fld dword [eax + 8]
sub esp, 0x10
fstp dword [esp + 0x38]
fld dword [eax + 0xc]
mov eax, dword [esp + 0x2c]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
fstp dword [esp + 0x3c]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x130]
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x34]
mov dword [esp + 0x30], ecx
fld dword [eax + 8]
mov edx, dword [ebp + 0x18]
sub esp, 0x10
fstp dword [esp + 0x48]
fld dword [eax + 0xc]
mov eax, edx
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
fstp dword [esp + 0x4c]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x130]
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
fstp dword [esp + 0x44]
fld dword [eax + 8]
sub esp, 0x10
fstp dword [esp + 0x58]
fld dword [eax + 0xc]
mov eax, dword [ebp + 0x18]
mov ecx, esp
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
fstp dword [esp + 0x5c]
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x130]
call fcn.00460320
fld dword [eax + 4]
mov ecx, dword [eax]
fstp dword [esp + 0x54]
fld dword [eax + 8]
mov dword [esp + 0x50], ecx
fstp dword [esp + 0x58]
fld dword [eax + 0xc]
lea ecx, [esp + 0x20]
fstp dword [esp + 0x5c]
lea edx, [esp + 0x60]
call fcn.00468e90
lea ecx, [esp + 0x30]
dec esp
and al, 0x30
lea edx, [esp + 0x60]
call fcn.00468e90
lea ecx, [esp + 0x40]
lea edx, [esp + 0x60]
call fcn.00468e90
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
call fcn.00468e90
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xfc], eax
mov eax, edi
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0x58]
shr eax, 0x17
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x40]
and eax, 0x1fe
mov dword [esp + 0x100], ecx
mov dword [esp + 0xd0], edx
mov edx, dword [esp + 0x50]
mov ecx, eax
cmp ecx, 0xff
mov dword [esp + 0xf8], edx
jbe 0x493e8d
mov ecx, 0xff
shl ecx, 8
mov esi, edi
and esi, 0xff
or ecx, esi
mov edx, edi
shl ecx, 0x10
shr edx, 0x10
and edi, 0xff00
or ecx, edi
and edx, 0xff
or ecx, edx
mov dword [esp + 0x98], ecx
mov ecx, eax
cmp ecx, 0xff
jbe 0x493ec8
mov ecx, 0xff
shl ecx, 8
or ecx, esi
shl ecx, 0x10
or ecx, edi
or ecx, edx
mov dword [esp + 0xc0], ecx
mov ecx, eax
cmp ecx, 0xff
jbe 0x493eea
mov ecx, 0xff
shl ecx, 8
or ecx, esi
shl ecx, 0x10
or ecx, edi
or ecx, edx
cmp eax, 0xff
mov dword [esp + 0xe8], ecx
jbe 0x493f09
mov eax, 0xff
shl eax, 8
or eax, esi
shl eax, 0x10
or eax, edi
or eax, edx
xor ebx, ebx
mov dword [esp + 0x110], eax
mov eax, 0x1000
push ebx
mov word [esp + 0x96], ax
mov word [esp + 0xe4], ax
mov word [esp + 0x10c], ax
mov word [esp + 0x10e], ax
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 + 0x1c], edx
mov dword [eax + 8], ecx
lea edx, [esp + 0x28]
push edx
xor eax, eax
mov ecx, 8
push 1
mov edx, 0x54
mov word [esp + 0xa8], bx
mov word [esp + 0xd0], bx
mov word [esp + 0xd2], bx
mov word [esp + 0xfa], bx
rep stosd dword es:[edi], eax
call fcn.00515c30
mov eax, dword [esp + 0x24]
add esp, 0x18
lea ecx, [esp + 0xc]
mov byte [eax + 0x15], 4
push ecx
lea eax, [esp + 0x84]
mov byte [esp + 0x14], 1
call fcn.0050b810
call fcn.00515d10
mov edi, dword [esp + 0xc]
cmp edi, ebx
je 0x4940d7
mov edx, dword [ebp + 0x14]
mov ax, word [edx]
cmp ax, bx
je 0x4940d7
cmp ax, 0x400
jae 0x4940d7
movzx esi, ax
mov eax, esi
shr eax, 5
mov edx, dword [eax*4 + 0x684aac]
mov ecx, esi
and ecx, 0x1f
shr edx, cl
test dl, 1
je 0x4940d7
lea eax, [esi + esi*2]
cmp dword [eax*8 + 0x67eab8], ebx
setne al
cmp al, bl
je 0x4940d7
mov ecx, dword [0xf91610]
shl ecx, 6
push 0xfd64e0
add ecx, 0xf9b130
push ecx
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x68], 0x3f800000
mov dword [esp + 0x54], 0x3f800000
mov dword [esp + 0x40], 0x3f800000
mov dword [esp + 0x2c], 0x3f800000
call fcn.00401680
lea eax, [esp + 0x28]
push eax
mov ecx, 0xfd64e0
lea edx, [esp + 0x70]
mov dword [esp + 0x2c], 0x3f
call fcn.00498ef0
mov eax, dword [esp + 0x2c]
add esp, 0x10
cmp eax, ebx
jne 0x4940d7
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
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 edi
push eax
push 0x64ca10
call fcn.004ac940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18