Function at 0x4b1ce0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
push ebp
push esi
lea edx, [eax + 0x18]
mov ebp, ecx
mov dword [0x537bf0], edx
lea edx, [eax + 4]
mov dword [0x537bec], edx
mov edx, dword [eax]
add edx, ecx
push edi
mov dword [eax], edx
mov edi, dword [0x537bf0]
shr ecx, 6
mov dword [0x537bf4], 0
je 0x4b1f53
mov esi, dword [esp + 0x14]
push ebx
mov ebx, ecx
xor eax, eax
xor ecx, ecx
mov ah, byte [esi]
mov cl, byte [esi + 2]
mov al, byte [esi + 1]
xor edx, edx
mov dl, byte [esi + 3]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 4], eax
mov cl, byte [esi + 6]
xor eax, eax
mov dl, byte [esi + 7]
mov ah, byte [esi + 4]
add edi, 4
mov al, byte [esi + 5]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 8], eax
mov cl, byte [esi + 0xa]
xor eax, eax
mov dl, byte [esi + 0xb]
mov ah, byte [esi + 8]
add edi, 4
mov al, byte [esi + 9]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 0xc], eax
mov cl, byte [esi + 0xe]
xor eax, eax
mov dl, byte [esi + 0xf]
mov ah, byte [esi + 0xc]
add edi, 4
mov al, byte [esi + 0xd]
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 0xc], eax
mov cl, byte [esi + 0x12]
xor eax, eax
mov dl, byte [esi + 0x13]
mov ah, byte [esi + 0x10]
mov al, byte [esi + 0x11]
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 8], eax
mov cl, byte [esi + 0x16]
xor eax, eax
mov dl, byte [esi + 0x17]
mov ah, byte [esi + 0x14]
mov al, byte [esi + 0x15]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [edi - 4], eax
xor eax, eax
mov ah, byte [esi + 0x18]
mov al, byte [esi + 0x19]
xor ecx, ecx
xor edx, edx
mov cl, byte [esi + 0x1a]
mov dl, byte [esi + 0x1b]
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi], eax
mov cl, byte [esi + 0x1e]
xor eax, eax
mov dl, byte [esi + 0x1f]
mov ah, byte [esi + 0x1c]
add edi, 4
mov al, byte [esi + 0x1d]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 4], eax
mov cl, byte [esi + 0x22]
xor eax, eax
mov dl, byte [esi + 0x23]
mov ah, byte [esi + 0x20]
add edi, 4
mov al, byte [esi + 0x21]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 8], eax
mov cl, byte [esi + 0x26]
xor eax, eax
mov dl, byte [esi + 0x27]
mov ah, byte [esi + 0x24]
add edi, 4
mov al, byte [esi + 0x25]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 0xc], eax
mov cl, byte [esi + 0x2a]
xor eax, eax
mov dl, byte [esi + 0x2b]
mov ah, byte [esi + 0x28]
mov al, byte [esi + 0x29]
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 8], eax
mov cl, byte [esi + 0x2e]
xor eax, eax
mov dl, byte [esi + 0x2f]
mov ah, byte [esi + 0x2c]
mov al, byte [esi + 0x2d]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [edi - 4], eax
xor eax, eax
mov ah, byte [esi + 0x30]
mov al, byte [esi + 0x31]
shl eax, 8
xor ecx, ecx
mov cl, byte [esi + 0x32]
or eax, ecx
xor edx, edx
mov dl, byte [esi + 0x33]
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi], eax
mov cl, byte [esi + 0x36]
xor eax, eax
mov dl, byte [esi + 0x37]
mov ah, byte [esi + 0x34]
add edi, 4
mov al, byte [esi + 0x35]
add edi, 4
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi - 4], eax
mov cl, byte [esi + 0x3a]
xor eax, eax
mov dl, byte [esi + 0x3b]
mov ah, byte [esi + 0x38]
mov al, byte [esi + 0x39]
add esi, 0x40
shl eax, 8
or eax, ecx
xor ecx, ecx
shl eax, 8
or eax, edx
xor edx, edx
mov dword [edi], eax
mov cl, byte [esi - 2]
xor eax, eax
mov dl, byte [esi - 1]
mov ah, byte [esi - 4]
mov al, byte [esi - 3]
shl eax, 8
or eax, ecx
shl eax, 8
or eax, edx
mov dword [edi + 4], eax
mov edi, dword [0x537bf0]
call fcn.004b2040
dec ebx
jne 0x4b1d25
pop ebx
jmp 0x4b1f57
mov esi, dword [esp + 0x14]
and ebp, 0x8000003f
jns 0x4b1f64
dec ebp
or ebp, 0xffffffc0
inc ebp
cmp ebp, 3
jle 0x4b1fac
mov eax, ebp
shr eax, 2
mov ecx, eax
neg ecx
lea ebp, [ebp + ecx*4]
xor edx, edx
xor ecx, ecx
mov dh, byte [esi]
mov cl, byte [esi + 2]
mov dl, byte [esi + 1]
add edi, 4
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [esi + 3]
add esi, 4
shl edx, 8
or edx, ecx
mov dword [edi - 4], edx
mov edx, dword [0x537bf4]
add edx, 0x20
dec eax
mov dword [0x537bf4], edx
jne 0x4b1f76
test ebp, ebp
je 0x4b1fbf
mov al, byte [esi]
inc esi
push eax
call fcn.004b1fd0
add esp, 4
dec ebp
jne 0x4b1fb0
pop edi
pop esi
pop ebp
ret