Function at 0x4a1b50
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a1f48
sub esp, 0x44
mov edx, dword [esp + 0x54]
test edx, edx
je 0x4a1b77
mov eax, dword [esp + 0x58]
jmp 0x4a1b7b
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a1b90
mov ebp, dword [ebx + 0x14]
cmp eax, ebp
jg 0x4a1b92
mov ebp, eax
mov esi, ebp
shl ebp, 1
test ebp, ebp
jle 0x4a1ca1
mov eax, edx
movzx edx, byte [ebx + 9]
test dl, dl
je 0x4a1bbb
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4a1bb5
mov ebp, esi
shl ebp, 2
lea edx, [ebp + esi - 1]
jmp 0x4a1bc8
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4a1bc6
add ebp, 2
mov edx, ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], edx
movzx ebp, byte [ebx + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a1c0f
mov ebp, dword [ebx + 0x10]
cmp edx, ebp
jge 0x4a1c0b
mov ecx, edx
movzx edx, byte [ebx + 6]
test dl, dl
jne 0x4a1c11
mov dword [esp], ebx
sub ebp, ecx
mov dword [esp + 4], ebp
call fcn.004a0870
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
jmp 0x4a1c11
mov ecx, edx
jmp 0x4a1c11
mov ecx, edx
mov edx, dword [ebx]
mov ebp, dword [edx + 8]
mov edi, esi
mov esi, dword [edx]
mov edx, dword [edx + 4]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4a1c8d
mov ebx, dword [esp + 0x64]
cmp ebx, 0x10
jbe 0x4a1f3b
add edx, 2
mov ebx, dword [esp + 0x60]
movzx ebx, byte [ebx + 0x10]
cmp ebp, edx
jae 0x4a1c84
mov byte [esp + 0x23], bl
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x4f65a0]
mov dword [esp + 0x10], eax
call fcn.004494b0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x24]
movzx ebx, byte [esp + 0x23]
mov edi, dword [esp + 0x34]
mov byte [edx + esi - 2], 0x30
mov byte [edx + esi - 1], bl
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
jmp 0x4a1ce8
movzx eax, byte [ebx + 4]
test al, al
je 0x4a1cb8
mov eax, dword [ebx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004a0870
add esp, 0x44
ret
mov ecx, dword [esp + 0x40]
movzx esi, byte [esp + 0x23]
xchg esi, eax
mov byte [edx + ecx - 2], al
xchg esi, eax
mov byte [edx + ecx - 1], bl
mov ebx, dword [esp + 0x28]
inc ebx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
cmp ebx, edi
jge 0x4a1ec1
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x48]
movzx edx, byte [edx + 9]
test dl, dl
je 0x4a1de4
test ebx, ebx
jle 0x4a1ddc
mov edx, dword [esp + 0x2c]
inc edx
cmp ebp, edx
jae 0x4a1d57
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4f65a0]
mov dword [esp + 0x10], eax
call fcn.004494b0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x34]
mov byte [edx + esi - 1], 0x20
mov ebx, dword [esp + 0x48]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4a1dd8
mov ebx, dword [esp + 0x64]
cmp ebx, 0x10
jbe 0x4a1f2f
add edx, 2
mov ebx, dword [esp + 0x60]
movzx ebx, byte [ebx + 0x10]
cmp ebp, edx
jb 0x4a1d88
test eax, eax
jmp 0x4a1dcd
mov byte [esp + 0x23], bl
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x4f65a0]
mov dword [esp + 0x10], eax
call fcn.004494b0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx ebx, byte [esp + 0x23]
mov edi, dword [esp + 0x34]
mov byte [edx + esi - 2], 0x30
mov byte [edx + esi - 1], bl
jmp 0x4a1dea
test eax, eax
jmp 0x4a1dea
test eax, eax
mov edx, dword [esp + 0x2c]
jmp 0x4a1dea
test eax, eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x30], ebp
je 0x4a1e0a
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
cmp ebx, esi
jbe 0x4a1f26
movzx ebx, byte [eax + esi]
jmp 0x4a1e28
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x28]
cmp ebx, esi
jbe 0x4a1f1d
mov ebp, dword [esp + 0x4c]
movzx ebp, byte [esi + ebp]
mov ebx, ebp
mov ebp, dword [esp + 0x30]
mov byte [esp + 0x21], bl
shr bl, 4
movzx ebx, bl
mov esi, dword [esp + 0x64]
cmp esi, ebx
jbe 0x4a1f14
mov ebp, dword [esp + 0x60]
movzx ebx, byte [ebx + ebp]
mov byte [esp + 0x23], bl
movzx ebx, byte [esp + 0x21]
and ebx, 0xf
cmp esi, ebx
jbe 0x4a1f0b
add edx, 2
movzx ebx, byte [ebx + ebp]
mov ebp, dword [esp + 0x30]
cmp ebp, edx
jae 0x4a1cbc
mov byte [esp + 0x22], bl
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x4f65a0]
mov dword [esp + 0x10], eax
call fcn.004494b0
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x24]
movzx ebx, byte [esp + 0x22]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x64]
jmp 0x4a1cbc
mov ebx, dword [esp + 0x48]
mov edi, dword [ebx]
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov edx, dword [0x63b5e0]
test edx, edx
jne 0x4a1edb
mov dword [edi], esi
jmp 0x4a1ee2
mov eax, esi
call fcn.00461550
movzx eax, byte [ebx + 4]
test al, al
je 0x4a1f07
mov eax, dword [ebx + 0x10]
cmp ecx, eax
jge 0x4a1f07
movzx edx, byte [ebx + 6]
test dl, dl
je 0x4a1f07
mov dword [esp], ebx
sub eax, ecx
mov dword [esp + 4], eax
call fcn.004a0870
add esp, 0x44
ret
mov eax, ebx
mov ecx, esi
call fcn.004615d0
mov eax, ebx
mov ecx, esi
call fcn.004615d0
mov eax, esi
mov ecx, ebx
call fcn.004615d0
mov eax, esi
mov ecx, ebx
call fcn.004615d0
mov eax, 0x10
mov ecx, ebx
call fcn.004615d0
mov eax, 0x10
mov ecx, ebx
call fcn.004615d0
nop
call fcn.00460140
jmp fcn.004a1b50