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

Disassembly:
sub esp, 0xa0
push edi
mov edi, ecx
call fcn.004cb120
test eax, eax
jne 0x4f2e01
mov eax, 0x7f000000
pop edi
add esp, 0xa0
ret 0xc
push ebx
push ebp
push esi
mov ecx, edi
call fcn.004cb120
mov ebp, eax
mov ecx, dword [ebp + 0x194]
add ebp, 0x190
xor eax, eax
test ecx, ecx
mov dword [esp + 0x18], ebp
jle 0x4f2e3c
mov esi, dword [edi + 4]
mov edx, dword [ebp]
lea esp, [esp]
cmp dword [edx], esi
je 0x4f2e3c
inc eax
add edx, 4
cmp eax, ecx
jl 0x4f2e30
cmp eax, ecx
jl 0x4f2e52
pop esi
pop ebp
pop ebx
mov eax, 0x7f000000
pop edi
add esp, 0xa0
ret 0xc
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
mov ecx, 1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x2c], ecx
lea ecx, [eax*4]
mov dword [esp + 0x30], 0x7f000000
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
test eax, eax
mov dword [esp + 0x4c], eax
jge 0x4f2ebb
mov edx, dword [esp + 0x1c]
cmp edx, dword [ebp + 4]
jge 0x4f3485
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x4f3179
test eax, eax
jl 0x4f31fe
mov eax, dword [ebp]
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx + eax]
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
push ebx
call fcn.004ae750
mov esi, eax
test esi, esi
je 0x4f3179
cmp ebx, dword [edi + 4]
je 0x4f3179
cmp ebx, dword [esp + 0xb8]
je 0x4f3179
mov ebp, dword [esp + 0xbc]
cmp ebp, 0x7f000000
je 0x4f2f40
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
test eax, eax
je 0x4f2f3c
mov edx, dword [esi]
push ebp
mov ecx, esi
call dword [edx + 0x30]
mov ecx, eax
call fcn.0057cd90
cmp al, 2
jne 0x4f2f3c
mov ebp, 1
jmp 0x4f2f51
xor ebp, ebp
jmp 0x4f2f51
push ebx
mov ecx, edi
call fcn.0057cd90
sub al, 2
neg al
sbb eax, eax
inc eax
mov ebp, eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
test eax, eax
je 0x4f3144
test ebp, ebp
je 0x4f3144
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
test eax, eax
jne 0x4f3144
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
mov ecx, eax
call fcn.0063e7f0
test eax, eax
jne 0x4f3144
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
mov ecx, eax
call fcn.004ef890
test eax, eax
jne 0x4f3144
mov eax, dword [esi + 4]
push eax
mov ecx, edi
call fcn.00517a20
test eax, eax
je 0x4f3144
test byte [eax + 4], 1
je 0x4f3144
mov eax, dword [esp + 0xbc]
cmp eax, 0x7f000000
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
je 0x4f301e
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae770
test eax, eax
je 0x4f3038
add eax, 0x90
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
jmp 0x4f3038
lea eax, [edi + 0x90]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
add eax, 0x90
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0xa0]
push ecx
call fcn.00423bc0
push eax
call fcn.004ab100
fstp dword [esp + 0x20]
mov edx, dword [edi + 0x340]
mov eax, dword [edx + 8]
mov edx, dword [esi]
add esp, 0x10
mov ecx, esi
mov dword [esp + 0x50], eax
call dword [edx + 0x30]
fld dword [esp + 0x10]
fsub dword [esp + 0x50]
mov eax, dword [eax + 0x340]
fsub dword [eax + 8]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x4f3144
lea ecx, [edi + 0x90]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x6c], ecx
fld dword [esp + 0x6c]
fadd dword [0x73f414]
mov dword [esp + 0x64], edx
mov edx, dword [esi]
mov ecx, esi
fstp dword [esp + 0x6c]
mov dword [esp + 0x68], eax
call dword [edx + 0x30]
add eax, 0x90
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x74], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x78], eax
fld dword [esp + 0x78]
fadd dword [0x73f414]
mov ecx, edi
fstp dword [esp + 0x78]
call fcn.004cb120
test eax, eax
je 0x4f3144
mov eax, dword [edi + 4]
push 0
push 1
push ebx
push eax
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x88]
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, edi
call fcn.004cb120
mov ecx, eax
call fcn.0050c330
test eax, eax
je 0x4f3144
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x4f3175
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
fld dword [edi + 0x90]
fsub dword [eax + 0x90]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x4f3175
mov dword [esp + 0x3c], 0
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4f344f
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp + 4]
jge 0x4f347b
mov ecx, dword [ebp]
mov edx, dword [esp + 0x34]
mov ebx, dword [edx + ecx]
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
push ebx
call fcn.004ae750
mov esi, eax
test esi, esi
je 0x4f344f
cmp ebx, dword [edi + 4]
je 0x4f344f
cmp ebx, dword [esp + 0xb8]
je 0x4f344f
mov ebp, dword [esp + 0xbc]
cmp ebp, 0x7f000000
je 0x4f320f
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
test eax, eax
je 0x4f320b
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0x30]
mov ecx, eax
call fcn.0057cd90
cmp al, 2
jne 0x4f320b
mov ebp, 1
jmp 0x4f3220
mov dword [esp + 0x3c], 0
jmp 0x4f3179
xor ebp, ebp
jmp 0x4f3220
push ebx
mov ecx, edi
call fcn.0057cd90
sub al, 2
neg al
sbb eax, eax
inc eax
mov ebp, eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
test eax, eax
je 0x4f341a
test ebp, ebp
je 0x4f341a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
test eax, eax
jne 0x4f341a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x30]
mov ecx, eax
call fcn.0063e7f0
test eax, eax
jne 0x4f341a
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
mov ecx, eax
call fcn.004ef890
test eax, eax
jne 0x4f341a
mov eax, dword [esi + 4]
push eax
mov ecx, edi
call fcn.00517a20
test eax, eax
je 0x4f341a
test byte [eax + 4], 1
je 0x4f341a
mov eax, dword [esp + 0xbc]
cmp eax, 0x7f000000
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
je 0x4f32ed
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae770
test eax, eax
je 0x4f3307
add eax, 0x90
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
jmp 0x4f3307
lea eax, [edi + 0x90]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x30]
add eax, 0x90
push eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0xac]
push ecx
call fcn.00423bc0
push eax
call fcn.004ab100
fstp dword [esp + 0x20]
mov edx, dword [edi + 0x340]
mov eax, dword [edx + 8]
mov edx, dword [esi]
add esp, 0x10
mov ecx, esi
mov dword [esp + 0x60], eax
call dword [edx + 0x30]
fld dword [esp + 0x10]
fsub dword [esp + 0x60]
mov eax, dword [eax + 0x340]
fsub dword [eax + 8]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jp 0x4f341a
fld dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
fadd dword [0x73f414]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov edx, dword [esi]
mov dword [esp + 0x94], eax
fstp dword [esp + 0x94]
mov ecx, esi
call dword [edx + 0x30]
add eax, 0x90
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x58], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x5c], eax
fld dword [esp + 0x5c]
fadd dword [0x73f414]
mov ecx, edi
fstp dword [esp + 0x5c]
call fcn.004cb120
test eax, eax
je 0x4f341a
mov eax, dword [edi + 4]
push 0
push 1
push ebx
push eax
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0x94]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0xa8]
push ecx
mov ecx, edi
call fcn.004cb120
mov ecx, eax
call fcn.0050c330
test eax, eax
je 0x4f341a
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x10]
test eax, eax
je 0x4f344b
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x10]
fld dword [eax + 0x90]
fsub dword [edi + 0x90]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x4f344b
mov dword [esp + 0x2c], 0
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov eax, 4
add ebx, eax
sub esi, eax
mov eax, dword [esp + 0x4c]
dec eax
inc ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], ecx
jmp 0x4f2ea6
mov dword [esp + 0x2c], 0
jmp 0x4f344f
mov eax, dword [esp + 0x30]
pop esi
pop ebp
pop ebx
pop edi
add esp, 0xa0
ret 0xc