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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov edx, dword [esi + 0x60]
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x159c]
sub eax, edx
and eax, 0x3fffff
mov dword [esp + 0x10], edi
test ecx, ecx
jle 0x4fe745
mov ecx, dword [esi + 0x15a0]
mov ecx, dword [ecx + edi*4]
test ecx, ecx
je 0x4fe732
mov bl, byte [ecx + 0x3c]
test bl, bl
je 0x4fe5cf
mov byte [ecx + 0x3c], 0
jmp 0x4fe732
mov ebp, dword [ecx + 0x30]
mov ebx, dword [ecx + 0x34]
mov ecx, ebp
mov dword [esp + 0x18], ebx
sub ecx, edx
and ecx, 0x3fffff
cmp ecx, eax
jae 0x4fe732
cmp edx, ebp
je 0x4fe60c
push ebp
push edx
mov ecx, esi
call fcn.004fe484
test eax, eax
jne 0x4fe754
mov eax, dword [esi + 0x5c]
mov edx, ebp
sub eax, ebp
and eax, 0x3fffff
cmp ebx, eax
ja 0x4fe75c
add ebx, ebp
and ebx, 0x3fffff
cmp ebp, ebx
mov dword [esp + 0x14], ebx
jb 0x4fe65c
test ebx, ebx
je 0x4fe65c
mov edx, dword [esi + 0x58]
mov ebx, 0x400000
sub ebx, ebp
add edx, ebp
lea edi, [esi + 0x1554]
push ebx
push edx
push 0
mov ecx, edi
call fcn.00502034
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x58]
push eax
push ecx
push ebx
mov ecx, edi
call fcn.00502034
mov ebx, dword [esp + 0x14]
jmp 0x4fe676
mov eax, dword [esi + 0x58]
mov edx, dword [esp + 0x18]
add eax, ebp
lea edi, [esi + 0x1554]
push edx
push eax
push 0
mov ecx, edi
call fcn.00502034
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.004fe4d4
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x159c]
inc eax
cmp eax, ecx
jge 0x4fe6f2
mov ebx, eax
mov ecx, dword [esi + 0x15a0]
mov eax, dword [ecx + ebx*4]
test eax, eax
je 0x4fe6ee
cmp dword [eax + 0x30], ebp
jne 0x4fe6ee
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0x34]
cmp edx, ecx
jne 0x4fe6f8
mov dl, byte [eax + 0x3c]
test dl, dl
jne 0x4fe6f8
mov edx, dword [edi]
mov eax, dword [esp + 0x1c]
add edx, eax
push ecx
push edx
push 0
mov ecx, edi
call fcn.00502034
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x1c]
inc eax
push ecx
push eax
mov ecx, esi
mov dword [esp + 0x18], eax
inc ebx
call fcn.004fe4d4
cmp ebx, dword [esi + 0x159c]
jl 0x4fe698
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
jmp 0x4fe6fc
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
mov ebp, dword [esp + 0x1c]
add edx, ebp
push ecx
push edx
mov ecx, esi
call fcn.004fe404
mov eax, dword [esp + 0x20]
mov ecx, dword [esi + 0x78]
add ecx, eax
mov eax, dword [esi + 0x5c]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x78], ecx
mov ebp, dword [esi + 0x7c]
mov edx, ebx
adc ebp, 0
sub eax, ebx
mov dword [esi + 0x7c], ebp
and eax, 0x3fffff
mov ecx, dword [esi + 0x159c]
inc edi
cmp edi, ecx
mov dword [esp + 0x10], edi
jl 0x4fe5ae
mov eax, dword [esi + 0x5c]
mov ecx, esi
push eax
push edx
mov dword [esi + 0x60], eax
call fcn.004fe484
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0x159c]
mov ecx, edi
cmp edi, eax
jge 0x4fe78b
mov eax, dword [esi + 0x15a0]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x4fe780
mov bl, byte [eax + 0x3c]
test bl, bl
je 0x4fe780
mov byte [eax + 0x3c], 0
mov eax, dword [esi + 0x159c]
inc ecx
cmp ecx, eax
jl 0x4fe768
mov dword [esi + 0x60], edx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret