Function at 0x4e5f50
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x18
mov esi, dword [esp + 0x2c]
lea edi, [esi + 0x9618]
mov ebp, dword [esi + 0x92c0]
lea eax, [ebp + 0x440]
mov dword [esp + 0x10], eax
mov ebx, dword [esi + 0x9618]
mov edx, dword [esi + 0x1824]
cmp edx, 1
je 0x4e5fd0
cmp dword [esi + 0xf40], 0
je 0x4e5fbd
push esi
push 0
call fcn.004ae0d4
add esp, 8
mov ecx, eax
mov edx, ecx
sar edx, 4
and edx, 0xf
sar ecx, 0xc
and ecx, 0xf
mov eax, dword [esi + edx*4 + 0x9414]
mov edx, dword [esi + ecx*4 + 0x9414]
mov ecx, esi
call fcn.004e67c4
jmp 0x4e5fd0
mov eax, dword [esi + 0x9440]
mov edx, dword [esi + 0x9444]
mov ecx, esi
call fcn.004e665c
mov eax, dword [esi + 0x9628]
and eax, 7
je 0x4e5fea
neg eax
add eax, 8
push edi
push eax
call fcn.004adbf0
add esp, 8
xor eax, eax
mov dword [esi + 0xf4c], eax
mov edi, dword [esi + 0x9410]
mov byte [edi + 0x119], al
mov eax, dword [esi + 0x22c]
add eax, 0x10
and eax, 0x7f
mov edx, dword [esi + 0x9410]
movzx eax, byte [eax + 0x583420]
mov byte [edx + 0x11a], al
mov eax, dword [esi + 0x264]
add eax, 0x10
and eax, 0x7f
mov edi, dword [esi + 0x9410]
movzx edx, byte [eax + 0x583420]
mov byte [edi + 0x11b], dl
mov edx, dword [esi + 0x9410]
xor eax, eax
mov dword [edx + 0x100], eax
mov edx, dword [esi + 0x9628]
mov eax, edx
shr eax, 3
add ebx, eax
add edx, 0xc00
mov dword [esi + 0x9628], edx
mov edi, dword [esi + 0x9410]
mov edx, edi
lea eax, [edi + 0x10]
mov byte [edx + 0x20], 0x10
mov byte [edx], 1
inc edx
cmp eax, edx
ja 0x4e606e
mov eax, 0x10
mov byte [edi + 0x70], al
mov byte [edi + 0x71], al
mov byte [edi + 0x72], al
mov byte [edi + 0x73], al
mov byte [edi + 0x74], al
mov byte [edi + 0x75], al
mov byte [edi + 0x76], al
mov byte [edi + 0x77], al
xor edi, edi
mov dword [esp + 0xc], ebp
mov edx, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x14], edi
movzx ecx, byte [ebx]
mov byte [edx], cl
movzx ecx, byte [ebx + 1]
mov byte [edx + 1], cl
movzx ecx, byte [ebx + 2]
mov byte [edx + 2], cl
movzx ecx, byte [ebx + 3]
mov byte [edx + 3], cl
movzx ecx, byte [ebx + 4]
mov byte [edx + 4], cl
movzx ecx, byte [ebx + 5]
mov byte [edx + 5], cl
movzx ecx, byte [ebx + 6]
mov byte [edx + 6], cl
movzx ecx, byte [ebx + 7]
mov byte [edx + 7], cl
movzx ecx, byte [ebx + 8]
mov byte [edx + 0x40], cl
movzx ecx, byte [ebx + 9]
mov byte [edx + 0x41], cl
movzx ecx, byte [ebx + 0xa]
mov byte [edx + 0x42], cl
movzx ecx, byte [ebx + 0xb]
mov byte [edx + 0x43], cl
movzx ecx, byte [ebx + 0xc]
mov byte [edx + 0x44], cl
movzx ecx, byte [ebx + 0xd]
mov byte [edx + 0x45], cl
movzx ecx, byte [ebx + 0xe]
mov byte [edx + 0x46], cl
movzx ecx, byte [ebx + 0xf]
mov byte [edx + 0x47], cl
add edx, 8
add ebx, 0x10
inc eax
cmp eax, 8
jl 0x4e60a7
mov edi, dword [esp + 0x14]
add edx, 0x40
inc edi
cmp edi, 2
jl 0x4e60a1
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x2c]
movzx eax, byte [ebx]
mov byte [ebp + 0x580], al
movzx edx, byte [ebx + 1]
mov byte [ebp + 0x581], dl
movzx eax, byte [ebx + 2]
mov byte [ebp + 0x582], al
movzx eax, byte [ebx + 3]
mov byte [ebp + 0x583], al
movzx eax, byte [ebx + 4]
mov byte [ebp + 0x584], al
movzx eax, byte [ebx + 5]
mov byte [ebp + 0x585], al
movzx eax, byte [ebx + 6]
mov byte [ebp + 0x586], al
movzx eax, byte [ebx + 7]
mov byte [ebp + 0x587], al
movzx eax, byte [ebx + 8]
mov byte [ebp + 0x588], al
movzx eax, byte [ebx + 9]
mov byte [ebp + 0x589], al
movzx eax, byte [ebx + 0xa]
mov byte [ebp + 0x58a], al
movzx eax, byte [ebx + 0xb]
mov byte [ebp + 0x58b], al
movzx eax, byte [ebx + 0xc]
mov byte [ebp + 0x58c], al
movzx eax, byte [ebx + 0xd]
mov byte [ebp + 0x58d], al
movzx eax, byte [ebx + 0xe]
mov byte [ebp + 0x58e], al
movzx eax, byte [ebx + 0xf]
mov byte [ebp + 0x58f], al
movzx eax, byte [ebx + 0x10]
mov byte [ebp + 0x590], al
movzx eax, byte [ebx + 0x11]
mov byte [ebp + 0x591], al
movzx eax, byte [ebx + 0x12]
mov byte [ebp + 0x592], al
movzx eax, byte [ebx + 0x13]
mov byte [ebp + 0x593], al
movzx eax, byte [ebx + 0x14]
mov byte [ebp + 0x594], al
movzx eax, byte [ebx + 0x15]
mov byte [ebp + 0x595], al
movzx eax, byte [ebx + 0x16]
mov byte [ebp + 0x596], al
movzx eax, byte [ebx + 0x17]
mov byte [ebp + 0x597], al
movzx eax, byte [ebx + 0x18]
mov byte [ebp + 0x598], al
movzx eax, byte [ebx + 0x19]
mov byte [ebp + 0x599], al
movzx eax, byte [ebx + 0x1a]
mov byte [ebp + 0x59a], al
movzx eax, byte [ebx + 0x1b]
mov byte [ebp + 0x59b], al
movzx eax, byte [ebx + 0x1c]
mov byte [ebp + 0x59c], al
movzx eax, byte [ebx + 0x1d]
mov byte [ebp + 0x59d], al
movzx eax, byte [ebx + 0x1e]
mov byte [ebp + 0x59e], al
movzx eax, byte [ebx + 0x1f]
mov byte [ebp + 0x59f], al
movzx eax, byte [ebx + 0x20]
mov byte [ebp + 0x5a0], al
movzx eax, byte [ebx + 0x21]
mov byte [ebp + 0x5a1], al
movzx eax, byte [ebx + 0x22]
mov byte [ebp + 0x5a2], al
movzx eax, byte [ebx + 0x23]
mov byte [ebp + 0x5a3], al
movzx eax, byte [ebx + 0x24]
mov byte [ebp + 0x5a4], al
movzx eax, byte [ebx + 0x25]
mov byte [ebp + 0x5a5], al
movzx eax, byte [ebx + 0x26]
mov byte [ebp + 0x5a6], al
movzx eax, byte [ebx + 0x27]
mov byte [ebp + 0x5a7], al
movzx eax, byte [ebx + 0x28]
mov byte [ebp + 0x5a8], al
movzx eax, byte [ebx + 0x29]
mov byte [ebp + 0x5a9], al
movzx eax, byte [ebx + 0x2a]
mov byte [ebp + 0x5aa], al
movzx eax, byte [ebx + 0x2b]
mov byte [ebp + 0x5ab], al
movzx eax, byte [ebx + 0x2c]
mov byte [ebp + 0x5ac], al
movzx eax, byte [ebx + 0x2d]
mov byte [ebp + 0x5ad], al
movzx eax, byte [ebx + 0x2e]
mov byte [ebp + 0x5ae], al
movzx eax, byte [ebx + 0x2f]
mov byte [ebp + 0x5af], al
movzx eax, byte [ebx + 0x30]
mov byte [ebp + 0x5b0], al
movzx eax, byte [ebx + 0x31]
mov byte [ebp + 0x5b1], al
movzx eax, byte [ebx + 0x32]
mov byte [ebp + 0x5b2], al
movzx eax, byte [ebx + 0x33]
mov byte [ebp + 0x5b3], al
movzx eax, byte [ebx + 0x34]
mov byte [ebp + 0x5b4], al
movzx eax, byte [ebx + 0x35]
mov byte [ebp + 0x5b5], al
movzx eax, byte [ebx + 0x36]
mov byte [ebp + 0x5b6], al
movzx eax, byte [ebx + 0x37]
mov byte [ebp + 0x5b7], al
movzx eax, byte [ebx + 0x38]
mov byte [ebp + 0x5b8], al
movzx eax, byte [ebx + 0x39]
mov byte [ebp + 0x5b9], al
movzx eax, byte [ebx + 0x3a]
mov byte [ebp + 0x5ba], al
movzx eax, byte [ebx + 0x3b]
mov byte [ebp + 0x5bb], al
movzx eax, byte [ebx + 0x3c]
mov byte [ebp + 0x5bc], al
movzx eax, byte [ebx + 0x3d]
mov byte [ebp + 0x5bd], al
movzx eax, byte [ebx + 0x3e]
mov byte [ebp + 0x5be], al
movzx eax, byte [ebx + 0x3f]
mov byte [ebp + 0x5bf], al
movzx eax, byte [ebx + 0x40]
mov byte [ebp + 0x5e0], al
movzx eax, byte [ebx + 0x41]
mov byte [ebp + 0x5e1], al
movzx eax, byte [ebx + 0x42]
mov byte [ebp + 0x5e2], al
movzx eax, byte [ebx + 0x43]
mov byte [ebp + 0x5e3], al
movzx eax, byte [ebx + 0x44]
mov byte [ebp + 0x5e4], al
movzx eax, byte [ebx + 0x45]
mov byte [ebp + 0x5e5], al
movzx eax, byte [ebx + 0x46]
mov byte [ebp + 0x5e6], al
movzx eax, byte [ebx + 0x47]
mov byte [ebp + 0x5e7], al
movzx eax, byte [ebx + 0x48]
mov byte [ebp + 0x5e8], al
movzx eax, byte [ebx + 0x49]
mov byte [ebp + 0x5e9], al
movzx eax, byte [ebx + 0x4a]
mov byte [ebp + 0x5ea], al
movzx eax, byte [ebx + 0x4b]
mov byte [ebp + 0x5eb], al
movzx eax, byte [ebx + 0x4c]
mov byte [ebp + 0x5ec], al
movzx eax, byte [ebx + 0x4d]
mov byte [ebp + 0x5ed], al
movzx eax, byte [ebx + 0x4e]
mov byte [ebp + 0x5ee], al
movzx eax, byte [ebx + 0x4f]
mov byte [ebp + 0x5ef], al
movzx eax, byte [ebx + 0x50]
mov byte [ebp + 0x5f0], al
movzx eax, byte [ebx + 0x51]
mov byte [ebp + 0x5f1], al
movzx eax, byte [ebx + 0x52]
mov byte [ebp + 0x5f2], al
movzx eax, byte [ebx + 0x53]
mov byte [ebp + 0x5f3], al
movzx eax, byte [ebx + 0x54]
mov byte [ebp + 0x5f4], al
movzx eax, byte [ebx + 0x55]
mov byte [ebp + 0x5f5], al
movzx eax, byte [ebx + 0x56]
mov byte [ebp + 0x5f6], al
movzx eax, byte [ebx + 0x57]
mov byte [ebp + 0x5f7], al
movzx eax, byte [ebx + 0x58]
mov byte [ebp + 0x5f8], al
movzx eax, byte [ebx + 0x59]
mov byte [ebp + 0x5f9], al
movzx eax, byte [ebx + 0x5a]
mov byte [ebp + 0x5fa], al
movzx eax, byte [ebx + 0x5b]
mov byte [ebp + 0x5fb], al
movzx eax, byte [ebx + 0x5c]
mov byte [ebp + 0x5fc], al
movzx eax, byte [ebx + 0x5d]
mov byte [ebp + 0x5fd], al
movzx eax, byte [ebx + 0x5e]
mov byte [ebp + 0x5fe], al
movzx eax, byte [ebx + 0x5f]
mov byte [ebp + 0x5ff], al
movzx eax, byte [ebx + 0x60]
mov byte [ebp + 0x600], al
movzx eax, byte [ebx + 0x61]
mov byte [ebp + 0x601], al
movzx eax, byte [ebx + 0x62]
mov byte [ebp + 0x602], al
movzx eax, byte [ebx + 0x63]
mov byte [ebp + 0x603], al
movzx eax, byte [ebx + 0x64]
mov byte [ebp + 0x604], al
movzx eax, byte [ebx + 0x65]
mov byte [ebp + 0x605], al
movzx eax, byte [ebx + 0x66]
mov byte [ebp + 0x606], al
movzx eax, byte [ebx + 0x67]
mov byte [ebp + 0x607], al
movzx eax, byte [ebx + 0x68]
mov byte [ebp + 0x608], al
movzx eax, byte [ebx + 0x69]
mov byte [ebp + 0x609], al
movzx eax, byte [ebx + 0x6a]
mov byte [ebp + 0x60a], al
movzx eax, byte [ebx + 0x6b]
mov byte [ebp + 0x60b], al
movzx eax, byte [ebx + 0x6c]
mov byte [ebp + 0x60c], al
movzx eax, byte [ebx + 0x6d]
mov byte [ebp + 0x60d], al
movzx eax, byte [ebx + 0x6e]
mov byte [ebp + 0x60e], al
movzx eax, byte [ebx + 0x6f]
mov byte [ebp + 0x60f], al
movzx eax, byte [ebx + 0x70]
mov byte [ebp + 0x610], al
movzx eax, byte [ebx + 0x71]
mov byte [ebp + 0x611], al
movzx eax, byte [ebx + 0x72]
mov byte [ebp + 0x612], al
movzx eax, byte [ebx + 0x73]
mov byte [ebp + 0x613], al
movzx eax, byte [ebx + 0x74]
mov byte [ebp + 0x614], al
movzx eax, byte [ebx + 0x75]
mov byte [ebp + 0x615], al
movzx eax, byte [ebx + 0x76]
mov byte [ebp + 0x616], al
movzx eax, byte [ebx + 0x77]
mov byte [ebp + 0x617], al
movzx eax, byte [ebx + 0x78]
mov byte [ebp + 0x618], al
movzx eax, byte [ebx + 0x79]
mov byte [ebp + 0x619], al
movzx eax, byte [ebx + 0x7a]
mov byte [ebp + 0x61a], al
movzx eax, byte [ebx + 0x7b]
mov byte [ebp + 0x61b], al
movzx eax, byte [ebx + 0x7c]
mov byte [ebp + 0x61c], al
movzx eax, byte [ebx + 0x7d]
mov byte [ebp + 0x61d], al
movzx eax, byte [ebx + 0x7e]
mov byte [ebp + 0x61e], al
movzx ebx, byte [ebx + 0x7f]
mov byte [ebp + 0x61f], bl
mov ecx, dword [esi + 0x1fc]
mov ebp, dword [ecx + 8]
inc dword [ebp + 0xd4]
add esp, 0x18
pop ebx
pop ebp
pop esi
pop edi
ret