Function at 0x4b4320
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
xor ecx, ecx
mov ebx, dword [esp + 0x14]
mov cl, byte [edi]
mov ebp, dword [ebx]
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax + eax*2]
lea esi, [ebx + eax*4 + 0xc]
mov al, byte [edi + 1]
test al, 3
je 0x4b4394
test al, 2
je 0x4b4353
mov cl, byte [edi + 3]
mov byte [esi + 0xc], cl
push esi
push ebp
call fcn.004b46a0
mov al, byte [esi + 0xd]
add esp, 8
cmp al, 0x78
jae 0x4b438a
test byte [ebp + 0x10], 4
je 0x4b437b
cmp word [esi + 0x32], 0
jne 0x4b437b
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
ret
test byte [edi + 1], 2
je 0x4b4394
push esi
push ebp
call fcn.004b4a60
jmp 0x4b4391
push esi
push ebx
call fcn.004b4760
add esp, 8
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x4b4567
mov al, byte [edi + 1]
test al, 4
je 0x4b43b3
mov dl, byte [edi + 4]
cmp dl, 0xc1
jb 0x4b43b3
cmp dl, 0xca
jbe 0x4b43cc
test al, 8
je 0x4b4567
mov dl, byte [edi + 5]
cmp dl, 7
je 0x4b43cc
cmp dl, 0xc
jne 0x4b4567
test al, 2
je 0x4b449b
mov eax, dword [ebp + 0x10]
test al, 0x20
je 0x4b4452
xor ebx, ebx
or eax, 0xffffffff
mov dword [ecx + 0x38], ebx
mov edx, dword [esi + 0x50]
mov dword [edx + 0x3c], eax
mov ecx, dword [esi + 0x50]
mov dword [ecx + 0x40], ebx
mov edx, dword [esi + 0x50]
mov dword [edx + 0x44], eax
mov ecx, dword [esi + 0x50]
mov dword [ecx + 0x48], ebx
mov edx, dword [esi + 0x50]
mov dword [edx + 0x4c], eax
mov eax, dword [esi + 0x50]
mov dword [eax + 0x50], 0x400
mov eax, dword [esi + 0x50]
mov ecx, dword [eax]
and ecx, 0xfffffff0
mov dword [eax], ecx
mov ecx, dword [esi + 0x50]
push ecx
call fcn.004b3e90
add esp, 4
cmp word [esi + 0x32], bx
je 0x4b449b
test byte [ebp + 0x10], 4
je 0x4b449b
xor eax, eax
mov al, byte [esi + 0xc]
lea edx, [eax + eax*4]
shl edx, 3
sub edx, eax
mov eax, dword [ebp + 0xb0]
shl edx, 4
lea ecx, [edx + eax - 0x270]
mov edx, dword [esi + 0x50]
mov dword [edx + 0x10], ecx
jmp 0x4b449b
test al, 4
je 0x4b4469
mov al, byte [esi + 0xc]
cmp al, 1
jb 0x4b449b
mov edx, dword [ebp + 4]
and eax, 0xff
cmp eax, edx
jg 0x4b449b
mov ax, word [esi + 0x32]
cmp ax, word [ecx + 0x14]
je 0x4b449b
mov bl, byte [ecx + 0x1c]
mov edi, dword [ecx + 0x30]
mov ecx, dword [esp + 0x14]
push esi
push ecx
call fcn.004b4760
mov eax, dword [esi + 0x50]
add esp, 8
test eax, eax
je 0x4b4497
mov byte [eax + 0x1c], bl
mov edx, dword [esi + 0x50]
mov dword [edx + 0x30], edi
mov edi, dword [esp + 0x18]
test byte [edi + 1], 4
je 0x4b4509
mov al, byte [edi + 4]
cmp al, 0xc1
jb 0x4b4509
cmp al, 0xca
ja 0x4b4509
mov cl, byte [ebp + 0x10]
and eax, 0xff
test cl, 0x20
mov al, byte [eax + 0x4fed43]
mov byte [esp + 0x18], al
je 0x4b44d3
test al, al
jne 0x4b44ce
mov al, byte [esi + 0x39]
mov byte [esp + 0x18], al
mov byte [esi + 0x39], al
jmp 0x4b44e1
test al, al
jne 0x4b44de
mov al, byte [esi + 0x38]
mov byte [esp + 0x18], al
mov byte [esi + 0x38], al
test byte [edi + 1], 1
je 0x4b44f4
cmp word [esi + 0x32], 0
je 0x4b44f4
mov al, byte [esi + 0x34]
mov byte [esi + 0x30], al
mov ecx, dword [esp + 0x18]
and ecx, 0xff
shl ecx, 4
mov dword [esi + 0x2c], ecx
jmp 0x4b4618
cmp byte [edi + 5], 7
jne 0x4b4514
mov al, byte [edi + 6]
jmp 0x4b4516
xor al, al
mov cl, byte [ebp + 0x10]
mov byte [esp + 0x18], al
test cl, 0x20
je 0x4b4532
test al, al
jne 0x4b452d
mov al, byte [esi + 0x39]
mov byte [esp + 0x18], al
mov byte [esi + 0x39], al
jmp 0x4b4540
test al, al
jne 0x4b453d
mov al, byte [esi + 0x38]
mov byte [esp + 0x18], al
mov byte [esi + 0x38], al
test byte [edi + 1], 1
je 0x4b4553
cmp word [esi + 0x32], 0
je 0x4b4553
mov dl, byte [esi + 0x34]
mov byte [esi + 0x30], dl
mov eax, dword [esp + 0x18]
and eax, 0xff
shl eax, 4
mov dword [esi + 0x2c], eax
jmp 0x4b4618
mov al, byte [edi + 1]
test al, 1
jne 0x4b4588
test al, 2
je 0x4b4618
test ecx, ecx
je 0x4b4588
mov dl, byte [edi + 3]
mov al, byte [ecx + 0x16]
cmp dl, al
je 0x4b4618
mov al, byte [esi + 0xd]
cmp al, 0x78
jae 0x4b4618
movzx cx, byte [esi + 7]
shl ecx, 8
cmp cx, 0x4000
mov word [esi + 8], cx
ja 0x4b460e
test byte [ebp + 0x10], 4
je 0x4b460e
xor edx, edx
and eax, 0xff
mov dl, byte [esi + 0xc]
and ecx, 0xffff
lea edi, [edx + edx*4]
shl edi, 3
sub edi, edx
mov edx, dword [ebp + 0xb0]
shl edi, 4
lea edi, [edi + edx - 0x270]
xor edx, edx
mov dl, byte [edi + 0xfe]
sub eax, edx
xor edx, edx
mov dl, byte [edi + 0xfd]
imul eax, edx
shl eax, 5
add eax, ecx
cmp eax, 0x4000
jge 0x4b4601
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and eax, ecx
jmp 0x4b4606
mov eax, 0x4000
mov edi, dword [esp + 0x18]
mov word [esi + 8], ax
push esi
push ebx
call fcn.004b4760
add esp, 8
test byte [edi + 1], 4
je 0x4b4692
mov al, byte [edi + 4]
cmp al, 0x40
ja 0x4b462f
mov byte [esi + 4], al
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
cmp al, 0x4a
ja 0x4b4656
sub al, 0x41
jne 0x4b463a
mov al, byte [esi + 0x36]
mov cl, byte [esi + 4]
mov byte [esi + 0x36], al
add cl, al
mov al, cl
mov byte [esi + 4], cl
cmp al, 0x40
jbe 0x4b4692
mov byte [esi + 4], 0x40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
cmp al, 0x54
ja 0x4b467d
sub al, 0x4b
jne 0x4b4661
mov al, byte [esi + 0x36]
mov cl, byte [esi + 4]
mov byte [esi + 0x36], al
sub cl, al
mov al, cl
mov byte [esi + 4], cl
cmp al, 0x40
jbe 0x4b4692
mov byte [esi + 4], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret
cmp al, 0x80
jb 0x4b4692
cmp al, 0xc0
ja 0x4b4692
add al, 0x80
xor edx, edx
mov dh, al
mov byte [esi + 7], al
mov word [esi + 8], dx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
ret