Function at 0x4b5140
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x40]
call fcn.00405500
mov ebp, dword [0x5c958d]
mov eax, ebp
mov ebx, dword [esp + 0x70]
and eax, 0x100
mov edi, dword [esp + 0x74]
and ebp, 0x200
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 0x100
mov dword [esp + 0x64], 8
call fcn.00404940
call fcn.004bf280
mov esi, eax
call fcn.004c1940
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 0
push eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], edi
call fcn.004ae3b0
add esp, 8
test esi, esi
je 0x4b51d7
call fcn.004c1950
movsx eax, byte [0x5cf497]
mov ebx, dword [0x5c4e34]
imul ecx, eax, 0xd26
add ecx, 0x5cff2e
movsx eax, byte [ecx + 1]
movzx esi, ax
movsx eax, byte [ecx + 3]
movzx eax, ax
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x4b550b
nop
test byte [0x5c9591], 4
mov edx, 1
je 0x4b5258
movzx eax, byte [ebx + 0x4e]
mov byte [esp + 0x6c], al
movzx eax, byte [ebx + 0x50]
mov byte [esp + 0x6d], al
movzx eax, word [esp + 0x6c]
mov ecx, eax
and eax, 0xfe
shr ecx, 1
and ecx, 0x7f00
or ecx, eax
shr ecx, 1
imul eax, ecx, 0x1a
test byte [eax + 0x5d7692], 8
mov eax, 0
cmove edx, eax
xor edi, edi
test edx, edx
je case.0x4b5277.3
movzx eax, byte [ebx + 0x31]
dec eax
cmp eax, 9
ja case.0x4b5277.3
movzx eax, byte [eax + 0x4b5548]
jmp dword [eax*4 + 0x4b5534]
cmp byte [ebx + 0x36], 0xff
je 0x4b52bd
test dword [ebx + 0x15], 0x40000000
jne case.0x4b5277.3
push ebx
call fcn.004bdfb0
add esp, 4
test eax, eax
jne 0x4b52a8
cmp dword [esp + 0x24], edi
jne case.0x4b5277.3
movsx eax, byte [ebx + 0x36]
mov dword [esp + 0x1c], edi
mov dl, byte [eax + eax*4 + 0x593141]
mov byte [esp + 0x10], dl
jmp 0x4b532f
mov dl, 0xbf
mov dword [esp + 0x1c], 1
mov byte [esp + 0x10], dl
jmp 0x4b532f
push ebx
call fcn.004bdfb0
add esp, 4
test eax, eax
jne 0x4b52e2
test ebp, ebp
jne case.0x4b5277.3
movsx eax, byte [ebx + 0x36]
mov dl, byte [eax + eax*4 + 0x593142]
mov byte [esp + 0x10], dl
jmp 0x4b532f
mov al, byte [ebx + 0x32]
cmp al, 2
jne 0x4b530e
mov dl, byte [0x5cf49c]
mov byte [esp + 0x10], dl
mov dword [esp + 0x1c], 1
jmp 0x4b5312
mov dl, byte [esp + 0x10]
cmp al, 2
jne case.0x4b5277.3
jmp 0x4b532f
cmp byte [ebx + 0x32], 8
jne case.0x4b5277.3
mov dl, byte [esp + 0x10]
mov edi, 0x3b
movsx cx, byte [ebx + 0x4e]
mov eax, esi
and eax, 0xfe
and ecx, 0xfffffffe
sub ecx, eax
mov eax, dword [esp + 0x28]
add ecx, 0xffffff80
and eax, 0xfe
movzx ebp, cl
movsx cx, byte [ebx + 0x50]
imul ebp, dword [esp + 0x70]
and ecx, 0xfffffffe
sub ecx, eax
sub ecx, 0x7a
sar ebp, 8
movzx eax, cl
mov ecx, dword [esp + 0x74]
mov esi, ecx
imul eax, ecx
sar eax, 8
sub esi, eax
cmp byte [ebx + 0x31], 1
mov dword [esp + 0x2c], esi
jne 0x4b53c9
cmp byte [ebx + 0x32], 7
jne 0x4b53c9
mov ecx, dword [0x5cf42c]
mov eax, 2
push 1
push dword [esp + 0x14]
sar eax, cl
inc eax
push eax
push esi
push ebp
call fcn.0044d650
movzx eax, byte [0x5cf49c]
mov ecx, dword [0x5cf42c]
push 0
push eax
mov eax, 2
sar eax, cl
inc eax
push eax
push esi
push ebp
call fcn.0044d650
add esp, 0x28
jmp 0x4b54f8
test edi, edi
je 0x4b5402
test byte [0x5cfe84], 4
je 0x4b54f8
mov eax, dword [0x5c3ab8]
lea ecx, [eax + edi*8]
movzx eax, word [ecx + 6]
shr eax, 1
sub esi, eax
movzx eax, word [ecx + 4]
push ecx
shr eax, 1
sub ebp, eax
push esi
push ebp
call fcn.00407df0
add esp, 0xc
jmp 0x4b54f8
sub esp, 8
movzx edi, dl
mov ecx, esp
shl edi, 2
mov dword [esp + 0x28], edi
push esi
mov byte [ecx + 4], dl
movzx eax, byte [edi + 0xc76b98]
mov byte [ecx + 2], al
movzx eax, byte [edi + 0xc76b99]
mov byte [ecx + 1], al
movzx eax, byte [edi + 0xc76b9a]
push ebp
mov byte [ecx], al
mov byte [ecx + 3], 0xff
call fcn.00404080
add esp, 0x10
cmp dword [esp + 0x1c], 0
jne 0x4b54f8
mov al, byte [esp + 0x10]
sub esp, 8
mov ecx, esp
inc esi
push esi
mov byte [ecx + 4], al
movzx eax, byte [edi + 0xc76b98]
mov byte [ecx + 2], al
movzx eax, byte [edi + 0xc76b99]
mov byte [ecx + 1], al
movzx eax, byte [edi + 0xc76b9a]
lea edi, [ebp + 1]
push edi
mov byte [ecx], al
mov byte [ecx + 3], 0xff
call fcn.00404080
mov edx, dword [esp + 0x30]
add esp, 8
mov al, byte [esp + 0x18]
mov ecx, esp
push esi
mov byte [ecx + 4], al
movzx eax, byte [edx + 0xc76b98]
mov byte [ecx + 2], al
movzx eax, byte [edx + 0xc76b99]
mov byte [ecx + 1], al
movzx eax, byte [edx + 0xc76b9a]
push ebp
mov byte [ecx], al
mov byte [ecx + 3], 0xff
call fcn.00404080
mov edx, dword [esp + 0x30]
add esp, 8
mov al, byte [esp + 0x18]
mov ecx, esp
push dword [esp + 0x34]
mov byte [ecx + 4], al
movzx eax, byte [edx + 0xc76b98]
mov byte [ecx + 2], al
movzx eax, byte [edx + 0xc76b99]
mov byte [ecx + 1], al
movzx eax, byte [edx + 0xc76b9a]
push edi
mov byte [ecx], al
mov byte [ecx + 3], 0xff
call fcn.00404080
add esp, 0x10
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [ebx + 4]
test ebx, ebx
jne 0x4b5210
cmp byte [0x5c3a55], 0
je 0x4b5522
call fcn.00461230
push eax
call fcn.00404a10
add esp, 4
push 0
call fcn.004ae3b0
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret