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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
mov ebx, eax
mov eax, dword [ebx]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], eax
movsx eax, word [ebx + 0x4c]
mov ecx, dword [ebx + eax*4 + 0x78]
mov dx, word [ebx + eax*2 + 0x4e]
mov dword [ebp - 0x14], eax
cmp dx, word [ecx + 0x12]
jae 0x4f18c7
cmp byte [ebx + 0x49], 1
jne 0x4f18c7
push esi
movzx ecx, dx
push edi
mov edi, dword [ebx + eax*4 + 0x78]
mov eax, dword [edi + 0x40]
movzx esi, byte [eax + ecx*2]
movzx edx, word [edi + 0x14]
lea eax, [eax + ecx*2]
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + 1]
shl esi, 8
or esi, ecx
and esi, edx
add esi, dword [edi + 0x38]
cmp byte [edi + 5], 0
mov dword [ebp - 0x20], edi
jne 0x4f1719
lea eax, [ebp - 8]
push eax
push ebx
mov dword [ebp - 8], 0
call fcn.004f1418
add esp, 8
test eax, eax
jne 0x4f18c0
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0xc]
mov ecx, ebx
call fcn.004f0a03
test eax, eax
jne 0x4f18c0
cmp dword [ebx + 0x10], eax
jne 0x4f176d
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebp - 4]
mov edx, dword [ebx + 0x1c]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 8]
mov dword [ebp - 0x18], edx
test eax, eax
je 0x4f176d
test byte [eax + 0x48], 0x10
je 0x4f1766
mov edx, dword [eax + 0x18]
cmp edx, dword [ebp - 0x1c]
jne 0x4f1766
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [ebp - 0x18]
jne 0x4f1766
mov byte [eax + 0x49], 0
mov eax, dword [eax + 8]
test eax, eax
jne 0x4f174c
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 0x94]
cmp edx, dword [ecx + 0x98]
jbe 0x4f178c
push eax
call fcn.004dfe31
add esp, 4
jmp 0x4f1791
call fcn.004dfc87
test eax, eax
jne 0x4f18c0
lea eax, [ebp - 4]
push eax
mov eax, esi
mov ecx, edi
call fcn.004e6116
movzx edx, word [ebp - 4]
lea ecx, [ebp - 8]
push ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x10]
push edx
push eax
mov esi, edi
call fcn.004cbf1e
mov eax, dword [ebp - 8]
add esp, 0x10
test eax, eax
jne 0x4f18c0
cmp byte [edi + 5], al
jne 0x4f186b
movsx ecx, word [ebx + 0x4c]
mov esi, dword [ebx + ecx*4 + 0x78]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebx + edx*4 + 0x7c]
mov ecx, dword [eax + 0x48]
movzx edx, word [esi + 0x12]
mov eax, dword [esi + 0x40]
movzx edi, byte [eax + edx*2 - 2]
lea eax, [eax + edx*2]
movzx edx, word [esi + 0x14]
mov dword [ebp - 0x18], ecx
movzx ecx, byte [eax - 1]
shl edi, 8
or edi, ecx
and edi, edx
add edi, dword [esi + 0x38]
mov eax, esi
push edi
call fcn.004a0a95
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x50]
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0xc], edx
call fcn.004dffeb
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 4]
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x20]
add edx, 4
push edx
add edi, 0xfffffffc
push edi
push eax
mov eax, dword [ebp - 0xc]
call fcn.004e0f45
movzx eax, word [esi + 0x12]
mov edx, dword [ebp - 4]
lea ecx, [ebp - 8]
push ecx
push edx
dec eax
push eax
call fcn.004cbf1e
mov eax, dword [ebp - 8]
add esp, 0x24
test eax, eax
jne 0x4f18c0
call fcn.004eb778
mov esi, eax
test esi, esi
jne 0x4f18be
movsx ecx, word [ebx + 0x4c]
mov edi, dword [ebp - 0x14]
cmp ecx, edi
jle 0x4f18b7
lea ecx, [ecx]
movzx eax, word [ebx + 0x4c]
movsx edx, ax
mov ecx, dword [ebx + edx*4 + 0x78]
dec eax
mov word [ebx + 0x4c], ax
test ecx, ecx
je 0x4f18a4
mov eax, dword [ecx + 0x44]
push eax
call fcn.004e3e00
add esp, 4
movsx ecx, word [ebx + 0x4c]
cmp ecx, edi
jg 0x4f1884
call fcn.004eb778
mov esi, eax
test esi, esi
jne 0x4f18be
mov eax, ebx
call fcn.004e9d46
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret