Function at 0x1004f3c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov edi, eax
xor ebx, ebx
mov esi, ecx
cmp edi, ebx
jne 0x1004f3de
mov eax, 0x80070057
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [edi]
mov dword [esp + 0x14], ebx
cmp eax, 0x494f4144
jne 0x1004f42c
movzx eax, byte [edi + 7]
mov cl, byte [edi + 6]
mov dl, byte [edi + 5]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10], al
movzx eax, byte [edi + 4]
mov byte [esp + 0x12], dl
mov byte [esp + 0x13], al
mov byte [esp + 0x11], cl
mov ecx, dword [esp + 0x10]
add ecx, 0xffffffea
mov eax, 0x88888889
mul ecx
shr edx, 4
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], edx
jmp 0x1004f47f
cmp eax, 0x584f4144
je 0x1004f440
mov eax, 0x80004005
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
movzx edx, byte [edi + 7]
mov al, byte [edi + 6]
mov cl, byte [edi + 5]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10], dl
movzx edx, byte [edi + 4]
mov byte [esp + 0x12], cl
mov byte [esp + 0x11], al
mov byte [esp + 0x13], dl
mov ecx, dword [esp + 0x10]
add ecx, 0xffffffea
mov eax, 0x86186187
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [esp + 0x10], ecx
mov edx, ecx
movzx eax, byte [edi + 0x1d]
movzx ecx, byte [edi + 0x1c]
sub eax, ecx
inc eax
cmp eax, edx
jne 0x1004f433
cmp dword [esp + 0x14], ebx
je 0x1004f49e
lea eax, [edi + 0x34]
call fcn.1005da10
jmp 0x1004f4a6
lea eax, [edi + 0x38]
call fcn.10003d90
mov dword [esi + 0x20], eax
lea eax, [edi + 0x28]
call fcn.1005da10
mov dword [esi + 0x14], eax
mov al, byte [edi + 0x2c]
movzx eax, al
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
cmp eax, 0x11
ja 0x1004f433
push eax
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x24]
lea ecx, [esp + 0x20]
call fcn.1004f6d0
cmp eax, ebx
jl 0x1004f606
cmp eax, 1
je 0x1004f606
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x14]
add eax, ebp
cmp eax, edx
jne 0x1004f433
mov ebx, dword [esp + 0x20]
cmp ebx, 6
je 0x1004f433
push ebx
mov eax, esi
call fcn.1004f810
test eax, eax
jl 0x1004f606
cmp eax, 1
je 0x1004f606
cmp ebx, 1
jne 0x1004f5ee
cmp dword [esi + 0x350], 0
mov dword [esi + 0x28], ebx
mov dword [esi + 0x360], 0x930
jne 0x1004f5ee
mov eax, dword [esp + 0x10]
xor ebx, ebx
xor ebp, ebp
cmp dword [esp + 0x14], ebx
je 0x1004f593
test eax, eax
jle 0x1004f5c8
add edi, 0x38
mov dword [esp + 0x20], eax
push 0
lea eax, [edi - 4]
call fcn.1005da10
push 0
push eax
call fcn.1004f610
mov eax, edi
call fcn.1005da10
xor ebp, ebp
add edi, 0x1e
sub dword [esp + 0x20], 1
mov ebx, eax
jne 0x1004f56a
jmp 0x1004f5c8
test eax, eax
jle 0x1004f5c8
add edi, 0x40
mov dword [esp + 0x20], eax
push 0
push ecx
lea eax, [edi - 8]
call fcn.10003d90
add esp, 4
push edx
push eax
call fcn.1004f610
mov eax, edi
call fcn.10003d90
add edi, 0x2a
sub dword [esp + 0x20], 1
mov ebx, eax
mov ebp, edx
jne 0x1004f59e
push 1
push ebp
push ebx
call fcn.1004f610
mov eax, esi
mov dword [esi + 0x358], ebx
mov dword [esi + 0x35c], ebp
call fcn.1004fa20
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ecx, dword [esi + 0x20]
sub dword [esi + 0x358], ecx
mov dword [esi + 0x360], ebp
sbb dword [esi + 0x35c], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret