Function at 0x4b27e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], edx
je 0x4b27f9
mov dword [edx], 0
lea eax, [esp + 0x4c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00489e10
test eax, eax
mov dword [esp + 0x14], eax
je 0x4b3081
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov ebp, ebx
cmp ebx, 0
jne 0x4b2a60
lea eax, [ebp + 0x3ff]
mov dword [esp + 0x18], ebp
and eax, 0xfffffc00
mov esi, esi
lea edi, [edi]
lea ecx, [ebp + 0xa0]
lea edx, [eax + eax]
mov esi, dword [esp + 0x1c]
cmp ecx, eax
cmova eax, edx
lea edx, [esp + 0x4c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00489e10
test eax, eax
mov edx, 1
je 0x4b2950
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
mov ecx, ebp
add eax, esi
sub ecx, esi
mov dword [esp + 0x14], eax
lea esi, [eax + ebx]
mov edi, ecx
mov dword [esp + 0x4c], ecx
sub edi, ebx
cmp edi, 0
mov dword [esp + 0x10], edi
jle 0x4b2980
xor edi, edi
movzx eax, byte [esi]
cmp al, 0xa
je 0x4b2925
cmp al, 0xd
je 0x4b2910
test al, al
je 0x4b2a10
add esi, 1
add edi, 1
cmp dword [esp + 0x10], edi
jne 0x4b28bf
test dl, dl
mov ebx, ecx
jne 0x4b2995
nop
lea esi, [esi]
test ebx, ebx
jle 0x4b308b
cmp dword [esp + 0x24], 2
jg 0x4b29e0
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x10]
sub edx, edi
cmp edx, 1
jle 0x4b2925
cmp byte [esi + 1], 0xa
je 0x4b2a40
lea eax, [edi + ebx + 1]
mov edx, 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
jle 0x4b29c1
mov ebx, ecx
jmp 0x4b2ac7
mov eax, dword [esp + 0x4c]
cmp eax, ebp
jle 0x4b2ce0
lea edx, [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], edx
call fcn.00489e10
xor edx, edx
jmp 0x4b2893
jne 0x4b2a18
cmp ecx, ebx
sete al
and edx, eax
test dl, dl
je 0x4b28f0
lea eax, [ebp + 0x3ff]
and eax, 0xfffffc00
cmp ebx, 0xfffff
jle 0x4b2860
cmp dword [esp + 0x24], 2
jle 0x4b2903
jmp 0x4b29e0
mov dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x24]
cmp eax, 2
jg 0x4b29e0
test eax, eax
jle 0x4b2903
cmp dword [esp + 0x10], 0
jne 0x4b2903
lea esi, [esi]
cmp dword [esp + 0x28], 1
jne 0x4b2a02
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4b2a02
mov dword [eax], 1
add esp, 0x5c
mov eax, 0x20
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x5c
mov eax, 0x20
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0xffffffff
cmp ecx, dword [esp + 0x10]
jne 0x4b2ced
test dl, dl
je 0x4b2ced
lea eax, [ebp + 0x3ff]
mov ebx, dword [esp + 0x10]
and eax, 0xfffffc00
jmp 0x4b2860
lea eax, [edi + ebx + 2]
mov edx, 2
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], eax
jmp 0x4b293a
jle 0x4b3025
mov edx, dword [esp + 0x14]
xor ecx, ecx
movzx eax, byte [edx]
cmp al, 0xa
je 0x4b2ab3
cmp al, 0xd
je 0x4b2aa0
test al, al
je 0x4b29b9
add ecx, 1
add edx, 1
cmp ecx, ebx
jne 0x4b2a6c
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x18], eax
jmp 0x4b2995
mov eax, ebx
sub eax, ecx
cmp eax, 1
jle 0x4b2ab3
cmp byte [edx + 1], 0xa
je 0x4b2de0
lea eax, [ecx + 1]
mov edx, 1
mov dword [esp + 0x18], 1
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4b2b30
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov edx, edi
mov eax, esi
call fcn.004b26f0
test eax, eax
jle 0x4b28f8
mov eax, edi
sub eax, dword [esp + 0x18]
cmp byte [esi + eax - 1], 0x5c
je 0x4b2b18
cmp dword [esp + 0x20], 1
jne 0x4b2b10
add dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
cmp eax, 2
jg 0x4b29e0
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x10]
add dword [esp + 0x14], ecx
sub ebx, ecx
mov dword [esp + 0x4c], ebx
jmp 0x4b283f
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x4b2b42
mov edi, ecx
movzx eax, byte [edi]
cmp al, 0x20
je 0x4b2b51
cmp al, 9
jne 0x4b2cd0
sub ebx, 1
sub esi, 1
lea ecx, [edi + 1]
mov dword [esp + 0x4c], ebx
jne 0x4b2b40
movzx eax, byte [edi + 1]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
lea edi, [eax - 0xa]
mov byte [esp + 0x2c], al
mov ecx, edi
cmp cl, 0x19
jbe 0x4b2c10
cmp al, 0x2f
jne 0x4b2c1e
cmp dword [esp + 0x10], 4
jle 0x4b29c1
mov esi, dword [esp + 0x14]
mov edi, str._set
mov ecx, 4
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov esi, eax
jne 0x4b2e11
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
lea eax, [ecx + 4]
lea edx, [edi - 4]
xor ecx, ecx
call fcn.004b26f0
test eax, eax
jle 0x4b28f8
mov eax, edi
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + eax - 1]
add ecx, edi
mov dword [esp + 0x14], ecx
cmp al, 0x5c
mov eax, 2
cmovne eax, esi
mov dword [esp + 0x20], eax
lea esi, [esi]
lea edi, [edi]
sub ebx, dword [esp + 0x10]
mov dword [esp + 0x4c], ebx
jmp 0x4b283f
mov esi, 0x2000009
bt esi, edi
jb 0x4b2b18
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
add edi, ecx
cmp ecx, edi
mov dword [esp + 0x30], edi
jae 0x4b2d23
cmp byte [eax + 0x5f0d80], 0
mov eax, ecx
jne 0x4b2c56
jmp 0x4b3046
movzx esi, byte [eax]
cmp byte [esi + 0x5f0d80], 0
mov ecx, esi
je 0x4b2d00
add eax, 1
cmp edi, eax
jne 0x4b2c44
xor esi, esi
xor edx, edx
mov ecx, esi
call fcn.004b26f0
test eax, eax
js 0x4b29c1
mov edx, dword [esp + 0x28]
test edx, edx
jne 0x4b2df9
test esi, esi
mov dword [esp + 0x28], esi
jne 0x4b2ca9
test eax, eax
setne al
movzx eax, al
neg eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp byte [ecx + eax - 1], 0x5c
je 0x4b3010
add dword [esp + 0x24], 1
mov eax, dword [esp + 0x24]
cmp eax, 2
jg 0x4b29e0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], eax
jmp 0x4b2c00
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], edi
jmp 0x4b2b6c
mov dword [esp + 0x10], 0
jmp 0x4b29c1
mov ebx, dword [esp + 0x10]
test ebx, ebx
jg 0x4b28f8
jmp 0x4b308b
mov byte [esp + 0x2c], cl
mov esi, 1
sub ecx, 9
cmp cl, 0x17
ja 0x4b2d23
mov edi, 0x800013
bt edi, ecx
jae 0x4b2d23
test esi, esi
jne 0x4b3094
mov esi, dword [esp + 0x10]
sub esi, edx
mov edx, dword [esp + 0x14]
add esi, edx
lea eax, [esi - 2]
cmp edx, eax
jbe 0x4b2dca
lea eax, [esi - 1]
cmp dword [esp + 0x14], eax
ja 0x4b29c1
cmp byte [esi - 1], 0x5c
je 0x4b29c1
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x14]
jmp 0x4b2d88
cmp dl, 0x20
je 0x4b2d94
movzx esi, dl
cmp byte [esi + 0x5f0d80], 0
je 0x4b29c1
add ecx, 1
cmp dl, 0x2f
mov edx, 1
cmove edi, edx
mov esi, eax
sub eax, 1
cmp ebp, eax
ja 0x4b2d94
movzx edx, byte [eax]
cmp dl, 9
jne 0x4b2d60
test ecx, ecx
mov ebp, dword [esp + 0x2c]
je 0x4b29c1
and edi, 1
je 0x4b29c1
cmp byte [esi], 0x2f
je 0x4b29c1
mov edx, dword [esp + 0x10]
sub edx, dword [esp + 0x18]
mov esi, 1
mov eax, dword [esp + 0x14]
sub edx, ecx
jmp 0x4b2c61
cmp byte [esi - 1], 0x5c
je 0x4b29c1
xor edi, edi
xor ecx, ecx
lea eax, [esi - 1]
jmp 0x4b2d55
lea eax, [ecx + 2]
mov edx, 2
mov dword [esp + 0x18], 2
mov dword [esp + 0x10], eax
jmp 0x4b2ac7
cmp dword [esp + 0x28], 1
je 0x4b2ffc
test esi, esi
jne 0x4b2ca9
jmp 0x4b2c92
cmp dword [esp + 0x10], 6
jle 0x4b29c1
mov esi, dword [esp + 0x14]
mov edi, str._unset
mov ecx, 6
repe cmpsb byte [esi], byte es:[edi]
setb al
seta dl
sub edx, eax
movsx eax, dl
test eax, eax
mov dword [esp + 0x20], eax
jne 0x4b28f8
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x34], 0
lea esi, [eax + 6]
movzx eax, byte [eax + 6]
lea edi, [edx - 6]
lea esi, [esi]
test al, al
je 0x4b2f42
xor edx, edx
lea esi, [esi]
cmp al, 0x20
je 0x4b2e78
cmp al, 9
jne 0x4b2e88
add esi, 1
sub edi, 1
movzx eax, byte [esi]
mov edx, 1
jne 0x4b2e70
cmp al, 0xa
je 0x4b2f42
cmp al, 0xd
je 0x4b2f42
cmp al, 0x5c
je 0x4b2f30
test edx, edx
je 0x4b28f8
test edi, edi
je 0x4b2f00
cmp al, 0x61
jne 0x4b2f00
lea ecx, [edi + 0x5f094c]
mov edx, esi
mov eax, 0x5f094c
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ecx
add edx, 1
add eax, 1
cmp eax, dword [esp + 0x2c]
je 0x4b2faa
movzx ebx, byte [edx]
test bl, bl
mov ecx, ebx
je 0x4b2faa
movzx ebx, byte [eax]
test bl, bl
mov byte [esp + 0x3c], bl
je 0x4b3074
mov ebx, ecx
movzx ecx, byte [esp + 0x3c]
cmp bl, cl
je 0x4b2ec5
mov ebx, dword [esp + 0x30]
mov edx, edi
mov eax, esi
call fcn.004b2500
test eax, eax
je 0x4b28f8
add esi, eax
sub edi, eax
add dword [esp + 0x34], 1
movzx eax, byte [esi]
cmp al, 0x3d
je 0x4b2f7c
test edi, edi
jg 0x4b2e60
jmp 0x4b2f4e
movzx ecx, byte [esi + 1]
cmp cl, 0xa
je 0x4b2f42
cmp cl, 0xd
jne 0x4b2ea0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4b28f8
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, edx
sub eax, dword [esp + 0x18]
movzx eax, byte [ecx + eax - 1]
add ecx, edx
mov dword [esp + 0x14], ecx
cmp al, 0x5c
mov eax, 2
cmovne eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
jmp 0x4b2c00
sub edi, 1
lea edx, [esi + 1]
test edi, edi
jle 0x4b2f4e
movzx eax, byte [esi + 1]
cmp al, 9
jne 0x4b2f9f
jmp 0x4b2fa3
add edx, 1
sub edi, 1
je 0x4b2f4e
movzx eax, byte [edx]
cmp al, 9
je 0x4b2fa3
cmp al, 0x20
jne 0x4b2f90
mov esi, edx
jmp 0x4b2e60
cmp byte [eax], 0
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x30]
jne 0x4b2f00
movzx ecx, byte [edx]
cmp cl, 0x3d
mov byte [esp + 0x30], cl
sete byte [esp + 0x2c]
sub ecx, 9
cmp cl, 0x17
ja 0x4b2fe2
mov eax, 0x800013
shr eax, cl
mov ecx, eax
and ecx, 1
or byte [esp + 0x2c], cl
cmp byte [esp + 0x2c], 0
je 0x4b3052
cmp dword [esp + 0x3c], 0x5f094c
je 0x4b2f00
jmp 0x4b2f4e
test esi, esi
jne 0x4b303d
test eax, eax
je 0x4b2c92
jmp 0x4b29c1
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 1
mov dword [esp + 0x14], eax
jmp 0x4b2c00
mov eax, ebp
sub eax, ebx
mov dword [esp + 0x18], eax
lea eax, [ebp + 0x3ff]
and eax, 0xfffffc00
jmp 0x4b2860
mov dword [esp + 0x28], esi
jmp 0x4b2ca9
xor esi, esi
movzx ecx, byte [esp + 0x2c]
jmp 0x4b2d09
cmp byte [esp + 0x30], 0x5c
jne 0x4b2f00
movzx edx, byte [edx + 1]
cmp dl, 0xa
je 0x4b2fe9
cmp dl, 0xd
jne 0x4b2f00
jmp 0x4b2fe9
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x30]
jmp 0x4b2fbb
mov eax, 0xffffffff
jmp 0x4b2905
mov dword [esp + 0x10], ebx
jmp 0x4b29c1
mov edx, dword [esp + 0x30]
xor esi, esi
sub edx, eax
jmp 0x4b2c61