Function at 0x4b16e0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x14]
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x18]
mov al, byte [ebx]
lea ecx, [edi + 0x1a]
mov dword [esp + 0xc], ecx
cmp byte [ecx], al
je 0x4b1771
and al, 1
movzx eax, al
push eax
push 2
push esi
call fcn.00440010
movzx eax, byte [ebx]
shr al, 1
and al, 1
movzx eax, al
push eax
push 0
push esi
call fcn.00440010
movzx eax, byte [ebx]
shr al, 2
and al, 1
movzx eax, al
push eax
push 1
push esi
call fcn.00440010
movzx eax, byte [ebx]
shr al, 3
and al, 1
movzx eax, al
push eax
push 3
push esi
call fcn.00440010
movzx eax, byte [ebx]
shr al, 4
and al, 1
movzx eax, al
push eax
push 9
push esi
call fcn.00440010
movzx eax, byte [ebx]
shr al, 5
and al, 1
movzx eax, al
push eax
push 0xa
push esi
call fcn.00440010
add esp, 0x48
mov al, byte [ebx + 1]
cmp byte [edi + 0x1b], al
je 0x4b17dd
and al, 1
movzx eax, al
push eax
push 4
push esi
call fcn.00440010
movzx eax, byte [ebx + 1]
shr al, 1
and al, 1
movzx eax, al
push eax
push 6
push esi
call fcn.00440010
movzx eax, byte [ebx + 1]
shr al, 2
and al, 1
movzx eax, al
push eax
push 7
push esi
call fcn.00440010
movzx eax, byte [ebx + 1]
shr al, 3
and al, 1
movzx eax, al
push eax
push 8
push esi
call fcn.00440010
movzx eax, byte [ebx + 1]
shr al, 4
and al, 1
movzx eax, al
push eax
push 5
push esi
call fcn.00440010
add esp, 0x3c
mov cl, byte [ebx + 2]
push ebp
cmp byte [edi + 0x1c], cl
je 0x4b1872
movzx ecx, cl
xor eax, eax
and ecx, 0xf
mov dword [esp + 0x1c], eax
xor edi, edi
xor ebp, ebp
cmp ecx, 7
ja case.default.0x4b17ff
jmp dword [ecx*4 + 0x4b198c]
mov edi, 1
jmp case.default.0x4b17ff
mov edi, 1
mov dword [esp + 0x1c], edi
jmp case.default.0x4b17ff
mov dword [esp + 0x1c], 1
jmp case.default.0x4b17ff
mov dword [esp + 0x1c], 1
mov eax, 1
jmp case.default.0x4b17ff
mov ebp, 1
mov eax, ebp
jmp case.default.0x4b17ff
mov ebp, 1
jmp case.default.0x4b17ff
mov edi, 1
mov ebp, edi
push eax
push 0xc
push esi
call fcn.00440010
push edi
push 0xb
push esi
call fcn.00440010
push dword [esp + 0x34]
push 0xe
push esi
call fcn.00440010
push ebp
push 0xd
push esi
call fcn.00440010
add esp, 0x30
movzx ecx, byte [ebx + 0x11]
mov ebp, 0x101
movsx ecx, cx
mov edi, 0xffff8000
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 4
push esi
call fcn.0043fdf0
movzx ecx, byte [ebx + 0x12]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 5
push esi
call fcn.0043fdf0
movzx ecx, byte [ebx + 3]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 0
push esi
call fcn.0043fdf0
movzx ecx, byte [ebx + 4]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 1
push esi
call fcn.0043fdf0
movzx ecx, byte [ebx + 5]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 2
push esi
call fcn.0043fdf0
movzx ecx, byte [ebx + 6]
movsx ecx, cx
movsx eax, bp
imul ecx, eax
add cx, di
movzx eax, cx
push eax
push 3
push esi
call fcn.0043fdf0
add esp, 0x48
mov ebp, 6
xor edi, edi
nop
mov eax, dword [edi + 0x57bb74]
test eax, eax
je 0x4b1961
movzx ecx, byte [eax + ebx]
mov eax, 0x101
cwde
movsx ecx, cx
imul ecx, eax
mov eax, 0xffff8000
add cx, ax
movzx eax, cx
push eax
push ebp
push esi
call fcn.0043fdf0
add esp, 0xc
inc ebp
add edi, 4
cmp edi, 0x3c
jb 0x4b1930
mov ecx, 0x40
cmp dword [esp + 0x24], ecx
pop ebp
cmovb ecx, dword [esp + 0x20]
push ecx
push ebx
push dword [esp + 0x14]
call fcn.0041c240
add esp, 0xc
pop edi
pop esi
pop ebx
pop ecx
ret