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

Disassembly:
sub esp, 0x14
push ebp
push esi
mov esi, dword [esp + 0x20]
mov ebp, dword [esi + 8]
push edi
test ebp, ebp
jne 0x4febac
push esi
call fcn.004d6270
mov ebp, eax
add esp, 4
mov dword [esi + 8], eax
test ebp, ebp
je 0x4feb97
push 0
push 0
push 0
push 0x9f
push ebp
call fcn.004cf760
add esp, 0x14
cmp dword [esi + 0x19c], 0
jne 0x4febac
mov eax, dword [esi]
test byte [eax + 0x3c], 8
jne 0x4febac
mov byte [esi + 0x17], 1
mov eax, dword [ebp + 0x18]
mov esi, dword [esi + 0x44]
push ebx
mov ebx, dword [eax + 0x70]
dec esi
lea edx, [ebx - 1]
lea ecx, [ebx + 1]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov dword [eax + 0x70], ecx
test ebx, edx
jne 0x4febf0
lea eax, [ebx*8 + 4]
push 0
push eax
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x74]
mov esi, dword [eax]
call fcn.004cbab0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x74], eax
add esp, 8
mov eax, ecx
mov eax, dword [eax + 0x74]
test eax, eax
je 0x4febfe
mov dword [eax + ebx*4], 0xffffffff
or edi, 0xffffffff
sub edi, ebx
cmp dword [esp + 0x44], 0
mov dword [esp + 0x10], edi
jge 0x4fec28
mov edx, dword [esp + 0x38]
movzx eax, byte [edx + 0x18]
push 0
push edi
push eax
push 0x89
push ebp
call fcn.004cf760
add esp, 0x14
mov ecx, dword [esp + 0x38]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
jle 0x4fec90
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + ebx*4]
mov ecx, dword [esp + 0x40]
mov edx, dword [ebp + 0x18]
lea ecx, [eax + ecx + 1]
mov eax, dword [ebp + 0x20]
cmp dword [edx + 0x54], eax
jg 0x4fec5f
push 0
push edi
push ecx
push 0x4c
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fec86
lea edx, [eax + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
xor ecx, ecx
mov byte [eax], 0x4c
mov byte [eax + 3], 0
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov byte [eax + 1], cl
mov eax, dword [esp + 0x38]
inc ebx
cmp ebx, dword [eax + 0x14]
jl 0x4fec33
cmp dword [esp + 0x48], 0
jne 0x4ff199
mov ebx, dword [esp + 0x34]
test ebx, ebx
jne 0x4fee1c
mov ebx, dword [esp + 0x28]
mov al, byte [ebx + 0x13]
test al, al
jne 0x4fecba
inc dword [ebx + 0x48]
mov esi, dword [ebx + 0x48]
jmp 0x4fecc6
dec al
movzx ecx, al
mov byte [ebx + 0x13], al
mov esi, dword [ebx + ecx*4 + 0x18]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov edi, dword [esp + 0x40]
push 0
push esi
lea ecx, [eax + edi + 1]
push ecx
push 0x20
push ebp
call fcn.004cf760
push 0
push 0
push esi
push 0x27
push ebp
call fcn.004cf760
mov edx, dword [esp + 0x60]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x58]
add esp, 0x28
cmp eax, dword [edx]
jne 0x4fed3a
cmp dword [esp + 0x44], 1
jne 0x4fed3a
mov ecx, dword [esp + 0x10]
push esi
push ecx
push edi
push 0x4f
push ebp
call fcn.004cf760
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp]
add esp, 0x14
dec eax
cmp byte [edx + 0x41], 0
je 0x4fed2d
mov eax, 0x5a2838
jmp 0x4fed36
mov ecx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*4]
mov byte [eax + 3], 0x90
mov edx, dword [esp + 0x2c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
push 0x37
push edx
push edi
push ebx
call fcn.004f9730
push esi
push 0
push edi
push 0x4a
push ebp
call fcn.004cf760
mov eax, dword [esp + 0x34]
push 0
push eax
push 0
push 0xe
push ebp
call fcn.004cf760
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
lea ecx, [eax - 1]
add esp, 0x38
add eax, 0xfffffffe
mov dword [edx + 0x5c], ecx
mov ecx, dword [ebp + 0x20]
jns 0x4fed87
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x41], 0
je 0x4fed97
mov eax, 0x5a2838
jmp 0x4feda0
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
dec eax
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 0x20]
test eax, eax
jge 0x4fedbb
lea eax, [ecx - 1]
mov edx, dword [ebp]
cmp byte [edx + 0x41], 0
je 0x4fedcb
mov eax, 0x5a2838
jmp 0x4fedd4
mov edx, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov dword [eax + 8], ecx
test esi, esi
je 0x4ff199
mov eax, ebx
mov bl, byte [eax + 0x13]
cmp bl, 8
jae 0x4ff199
mov edx, dword [esp + 0x28]
xor eax, eax
lea ecx, [edx + 0x78]
cmp dword [ecx + 0xc], esi
je 0x4fee13
inc eax
add ecx, 0x14
cmp eax, 0xa
jl 0x4fedf6
movzx ecx, bl
mov dword [edx + ecx*4 + 0x18], esi
inc byte [edx + 0x13]
jmp 0x4ff199
mov byte [ecx + 6], 1
jmp 0x4ff199
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x14]
mov eax, dword [esi + 0x38]
cmp edi, eax
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x48], edi
mov dword [esp + 0x18], ecx
jg 0x4fee45
add ecx, edi
sub eax, edi
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x38], eax
jmp 0x4fee54
mov eax, dword [esi + 0x48]
lea ecx, [eax + 1]
add eax, edi
mov dword [esp + 0x18], ecx
mov dword [esi + 0x48], eax
mov al, byte [esi + 0x13]
test al, al
jne 0x4fee67
inc dword [esi + 0x48]
mov edx, dword [esi + 0x48]
mov dword [esp + 0x1c], edx
jmp 0x4fee77
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov ecx, dword [esi + eax*4 + 0x18]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x14]
push edx
push eax
push ecx
push 0x37
push ebp
call fcn.004cf760
add esp, 0x14
mov ecx, ebx
mov eax, esi
call fcn.004f8750
xor ebx, ebx
test edi, edi
jle 0x4fef01
mov edi, dword [esp + 0x18]
xor edx, edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + ebx*4]
mov eax, dword [esp + 0x40]
mov esi, dword [ebp + 0x18]
lea ecx, [ecx + eax + 1]
mov eax, dword [ebp + 0x20]
cmp dword [esi + 0x54], eax
jg 0x4feed3
push 0
push edi
push ecx
push 0x1f
mov esi, ebp
call fcn.004cf720
add esp, 0x10
xor edx, edx
jmp 0x4feef9
lea esi, [eax + 1]
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov byte [eax], 0x1f
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov byte [eax + 1], 0
inc ebx
inc edi
cmp ebx, dword [esp + 0x48]
jl 0x4feea5
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
cmp edx, dword [ecx]
jne 0x4ff031
cmp dword [esp + 0x44], 1
jne 0x4ff031
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 0x20]
xor edi, edi
cmp eax, edi
lea edx, [ecx + eax + 1]
mov dword [esp + 0x20], edx
jle 0x4fefe5
mov ebx, dword [esp + 0x40]
lea esp, [esp]
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + edi*4]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
lea edx, [ecx + ebx + 1]
mov ecx, dword [eax + 4]
movzx eax, word [ecx + edi*2]
movsx ecx, ax
lea ecx, [ecx + ebx + 1]
cmp ax, word [esi + 0x20]
jne 0x4fef69
mov ecx, ebx
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
cmp dword [esi + 0x54], eax
jg 0x4fef89
mov eax, dword [esp + 0x20]
push ecx
push eax
push edx
push 0x4e
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4fefb7
lea esi, [eax + 1]
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x20]
mov byte [eax], 0x4e
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp]
dec eax
cmp byte [ecx + 0x41], 0
je 0x4fefcb
mov eax, 0x5a2838
jmp 0x4fefd4
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
inc edi
cmp edi, dword [esp + 0x48]
mov byte [eax + 3], 0x10
jl 0x4fef40
xor edi, edi
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x54], eax
jg 0x4ff007
mov edx, dword [esp + 0x10]
push 0
push edx
push 0
push 0xe
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4ff031
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov byte [eax], 0xe
mov byte [eax + 3], 0
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov esi, dword [esp + 0x34]
push eax
call fcn.004d8b90
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
mov ebx, dword [esp + 0x20]
add esp, 4
cmp dword [edx + 0x54], ecx
mov edi, eax
jg 0x4ff06e
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
push ebx
push eax
push ecx
push 0x32
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4ff0a2
lea edx, [ecx + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x18]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x48]
mov byte [eax], 0x32
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov eax, ecx
mov ecx, dword [esp + 0x48]
push ecx
push ebp
call fcn.004cfc30
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
add esp, 8
cmp dword [edx + 0x54], ecx
jg 0x4ff0d4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push ebx
push eax
push ecx
push 0x49
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4ff108
lea edx, [ecx + 1]
mov dword [ebp + 0x20], edx
mov edx, dword [ebp + 4]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x10]
mov byte [eax], 0x49
mov byte [eax + 3], 0
mov dword [eax + 8], edx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0
mov byte [eax + 1], 0
mov eax, ecx
mov esi, dword [ebp + 4]
mov ecx, dword [ebp]
test esi, esi
je 0x4ff140
cmp byte [ecx + 0x41], 0
jne 0x4ff140
test eax, eax
jge 0x4ff120
mov eax, dword [ebp + 0x20]
dec eax
lea eax, [eax + eax*4]
lea esi, [esi + eax*4]
movsx eax, byte [esi + 1]
push ecx
mov ecx, dword [esi + 0x10]
call fcn.004cf9f0
mov dword [esi + 0x10], 0
mov byte [esi + 1], 0xf2
jmp 0x4ff14b
push ecx
xor ecx, ecx
lea eax, [ecx - 0xe]
call fcn.004cf9f0
mov esi, dword [esp + 0x2c]
add esp, 4
test ebx, ebx
je 0x4ff17b
mov dl, byte [esi + 0x13]
cmp dl, 8
jae 0x4ff17b
xor eax, eax
lea ecx, [esi + 0x78]
cmp dword [ecx + 0xc], ebx
je 0x4ff1da
inc eax
add ecx, 0x14
cmp eax, 0xa
jl 0x4ff163
movzx ecx, dl
mov dword [esi + ecx*4 + 0x18], ebx
inc byte [esi + 0x13]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x48]
push ebx
mov eax, edi
call fcn.004c6f00
add esp, 4
cmp edi, dword [esi + 0x38]
jle 0x4ff199
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], ebx
mov esi, dword [esp + 0x38]
mov cl, byte [esi + 0x18]
mov eax, dword [esp + 0x28]
xor edi, edi
pop ebx
test cl, cl
jne 0x4ff1e0
mov edx, dword [eax]
test dword [edx + 0x18], 0x1000000
jne 0x4ff1e0
cmp dword [eax + 0x19c], edi
jne 0x4ff1e0
cmp byte [eax + 0x14], 0
jne 0x4ff1e0
push 4
push 0xfffffffffffffffe
push edi
push 2
push 0x313
call fcn.004dc580
add esp, 0x14
jmp 0x4ff245
mov byte [ecx + 6], 1
jmp 0x4ff17b
mov edx, dword [esp + 0x40]
cmp edx, edi
jle 0x4ff1fc
test cl, cl
jne 0x4ff1fc
mov ecx, dword [eax + 0x19c]
cmp ecx, edi
je 0x4ff1f8
mov eax, ecx
mov byte [eax + 0x15], 1
movzx ecx, byte [esi + 0x18]
mov eax, dword [ebp + 0x20]
mov esi, dword [ebp + 0x18]
cmp dword [esi + 0x54], eax
jg 0x4ff21f
push edi
push edx
push ecx
push 0x88
mov esi, ebp
call fcn.004cf720
add esp, 0x10
jmp 0x4ff245
lea esi, [eax + 1]
mov dword [ebp + 0x20], esi
mov esi, dword [ebp + 4]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov byte [eax], 0x88
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx + 0x74]
cmp eax, edi
je 0x4ff261
mov edx, dword [esp + 0xc]
lea edx, [edx*4 + 4]
sub eax, edx
mov edx, dword [ebp + 0x20]
mov dword [eax], edx
mov eax, dword [ebp + 0x20]
dec eax
mov dword [ecx + 0x5c], eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
cmp dword [ecx + 0x54], eax
jg 0x4ff28d
mov edx, dword [esp + 0x10]
push edi
push edi
push edx
push 0x3e
mov esi, ebp
call fcn.004cf720
add esp, 0x10
pop edi
pop esi
pop ebp
add esp, 0x14
ret
lea ecx, [eax + 1]
mov dword [ebp + 0x20], ecx
mov ecx, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [ebp + 4]
lea eax, [eax + edx*4]
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
pop edi
pop esi
mov byte [eax], 0x3e
mov byte [eax + 3], 0
mov dword [eax + 4], ecx
mov byte [eax + 1], 0
pop ebp
add esp, 0x14
ret