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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5a2cb2
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x60aecc]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x48], ebp
mov eax, dword [ebp]
cmp byte [eax + 0xf8], 1
je 0x4f124a
xor edi, edi
push edi
mov ebx, 0x10
push ebx
mov byte [eax + 0xf8], 1
lea eax, [esp + 0x40]
push ebx
push eax
call fcn.004d8b40
add esp, 0x10
mov ecx, dword [esp + 0x38]
cmp ecx, edi
mov dword [esp + 0xd8], edi
jne 0x4f0ce4
mov esi, dword [esp + 0x3c]
or ebx, 0xffffffff
cmp esi, edi
mov dword [esp + 0xd8], ebx
je 0x4f124a
lea eax, [esi + 4]
jmp 0x4f122d
fld1
sub esp, 8
fst dword [esp + 0x5c]
mov eax, esp
fst dword [esp + 0x60]
mov dword [esp + 0x20], esp
fst dword [esp + 0x64]
mov esi, 1
fstp dword [esp + 0x68]
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x44]
cmp eax, edi
je 0x4f0d18
add dword [eax + 4], esi
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.004d6a00
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x30]
push eax
call fcn.0049d890
mov ecx, eax
mov byte [esp + 0xe8], 0
call fcn.0049cd10
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x24]
push edx
call fcn.004d6e70
test al, al
je 0x4f115c
mov ecx, dword [esp + 0x20]
push edi
call fcn.00498ba0
mov ecx, dword [esp + 0x20]
push edi
call fcn.00498bc0
mov ecx, dword [esp + 0x20]
push edi
call fcn.00498be0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
push edi
lea ecx, [edx + ecx*4]
call fcn.00498ba0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
push edi
lea ecx, [edx + ecx*4]
call fcn.00498bc0
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
add eax, 1
mov ecx, eax
shl ecx, 4
sub ecx, eax
push edi
lea ecx, [edx + ecx*4]
call fcn.00498be0
mov ecx, dword [esp + 0x38]
call fcn.004d6e80
push esi
mov ebx, 0x200
push ebx
lea eax, [esp + 0x48]
push 0x400
push eax
call fcn.004d8b40
add esp, 0x10
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x4f1128
fld1
sub esp, 8
fst dword [esp + 0x2c]
mov dword [esp + 0x20], esp
fldz
mov ecx, dword [esp + 0x2c]
fst dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
fstp dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x60], edx
fstp dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], ecx
mov ecx, esp
mov dword [esp + 0x68], edx
mov dword [ecx], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x4c]
cmp eax, edi
je 0x4f0e60
add dword [eax + 4], esi
lea ecx, [esp + 0x2c]
mov byte [esp + 0xe0], 3
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
call fcn.004d6a00
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x30]
push edx
call fcn.0049d890
mov bl, 2
mov ecx, eax
mov byte [esp + 0xe8], bl
call fcn.0049cd10
mov ecx, dword [esp + 0x40]
push edi
sub esp, 8
mov eax, esp
mov dword [eax], ecx
mov edx, dword [esp + 0x50]
mov dword [eax + 4], edx
mov eax, dword [esp + 0x50]
cmp eax, edi
mov dword [esp + 0x24], esp
je 0x4f0ec2
add dword [eax + 4], esi
mov byte [esp + 0xe4], 4
call fcn.0049d890
mov ecx, eax
mov byte [esp + 0xe4], bl
call fcn.0049cc00
test al, al
je 0x4f1261
call fcn.0049d890
mov ecx, eax
call fcn.0049c470
push edi
call fcn.0049d890
mov ecx, eax
call fcn.0049c6f0
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x18], ebx
fild dword [esp + 0x18]
mov eax, dword [ebp]
push 0
sub esp, 0x10
fmul qword [0x5ca0b8]
lea ecx, [esp + 0x78]
fsub qword [0x5aafe8]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fstp dword [eax + 0xfc]
fld1
fst dword [esp + 0xc]
fstp dword [esp + 8]
fild dword [esp + 0x64]
fstp dword [esp + 4]
fild dword [esp + 0x60]
fstp dword [esp]
call fcn.0049a830
push eax
lea ecx, [esp + 0x84]
call fcn.004010b0
fldz
sub esp, 8
fst dword [esp + 4]
lea ecx, [esp + 0x2c]
fstp dword [esp]
mov dword [esp + 0xcc], 8
call fcn.0049a830
push eax
lea ecx, [esp + 0x9c]
call fcn.0049a870
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0x74]
push eax
call edx
add esi, 0x10
cmp esi, 0x310
mov dword [esp + 0x4c], esi
jle 0x4f0fc4
add edi, 0x10
xor esi, esi
cmp edi, 0x1f0
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], edi
jg 0x4f0fd4
add ebx, 1
cmp ebx, 0xa
mov dword [esp + 0x18], ebx
jl 0x4f0f0e
push 1
call fcn.0049d890
mov ecx, eax
call fcn.0049c6f0
call fcn.0049d890
mov ecx, eax
call fcn.0049c550
call fcn.0049d890
mov ecx, eax
call fcn.0049c5f0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0x27], 0
call fcn.004d6e70
test al, al
je 0x4f10fc
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x18], ebx
jmp 0x4f1034
mov ebp, dword [esp + 0x48]
fild dword [esp + 0x18]
mov edx, dword [ebp]
mov eax, edi
fmul qword [0x5ca0b8]
fsub qword [0x5aafe8]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [edx + 0xfc]
imul eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
add eax, esi
lea ebp, [ecx + eax*4]
mov ecx, ebp
call fcn.00498b50
test al, al
jne 0x4f10b9
mov ecx, ebp
call fcn.00498b60
test al, al
jne 0x4f10b9
mov ecx, ebp
call fcn.00498b70
test al, al
jne 0x4f10b9
mov eax, dword [esp + 0x20]
lea edx, [edi + 0xf]
imul edx, dword [esp + 0x34]
add edx, esi
lea ebp, [eax + edx*4 + 0x3c]
mov ecx, ebp
call fcn.00498b50
test al, al
jne 0x4f10b9
mov ecx, ebp
call fcn.00498b60
test al, al
jne 0x4f10b9
mov ecx, ebp
call fcn.00498b70
test al, al
je 0x4f10e3
add esi, 0x10
cmp esi, 0x310
jle 0x4f10d1
add edi, 0x10
xor esi, esi
cmp edi, 0x1f0
jg 0x4f10e8
add ebx, 1
cmp ebx, 0xa
mov dword [esp + 0x18], ebx
jl 0x4f1030
jmp 0x4f10e8
mov byte [esp + 0x1f], 1
mov ecx, dword [esp + 0x38]
call fcn.004d6e80
cmp byte [esp + 0x1f], 0
mov ebp, dword [esp + 0x48]
jne 0x4f1126
mov ecx, dword [ebp]
fld dword [0x5ca0b0]
push ecx
fstp dword [ecx + 0xfc]
mov edx, dword [str.verbosedebug]
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00496da0
call fcn.00401000
add esp, 4
xor edi, edi
mov esi, dword [esp + 0x44]
cmp esi, edi
mov byte [esp + 0xd8], 0
je 0x4f115c
add dword [esi + 4], 0xffffffff
lea eax, [esi + 4]
jne 0x4f115c
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
add dword [esi + 8], 0xffffffff
cmp dword [esi + 8], edi
jne 0x4f115c
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
fldz
mov eax, dword [ebp]
fst dword [esp + 0x64]
add eax, 0x28
fst dword [esp + 0x68]
fstp dword [esp + 0x6c]
fld1
fstp dword [esp + 0x70]
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x24]
mov dword [esp + 0x30], edx
call fcn.004d6a00
lea eax, [esp + 0x24]
push eax
call fcn.0049d890
mov ecx, eax
call fcn.0049d910
mov eax, dword [ebp]
mov ecx, dword [eax + 0x28]
add eax, 0x28
mov dword [esp + 0x24], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x28], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0xc]
lea ecx, [esp + 0x24]
mov dword [esp + 0x30], edx
call fcn.004d6a00
sub esp, 8
mov eax, esp
mov dword [eax], edi
mov dword [esp + 0x20], esp
mov dword [eax + 4], edi
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x30]
push ecx
mov byte [esp + 0xe8], 5
call fcn.0049d890
mov ecx, eax
mov byte [esp + 0xe8], 0
call fcn.0049cd10
call fcn.0049d890
mov ecx, eax
call fcn.0049d220
mov eax, dword [esp + 0x3c]
or ebx, 0xffffffff
cmp eax, edi
mov dword [esp + 0xd8], ebx
je 0x4f124a
mov esi, eax
add eax, 4
add dword [eax], ebx
cmp dword [eax], edi
jne 0x4f124a
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
add dword [esi + 8], ebx
jne 0x4f124a
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp]
lea ecx, [esp + 0x40]
mov byte [eax + 0xf8], 0
mov byte [esp + 0xd8], 0
call fcn.00401370
lea ecx, [esp + 0x38]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401370
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret