Function at 0x4aab70
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ab03c
sub esp, 0x4c
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x4aaff6
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x50]
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4aafef
mov ebp, dword [ebx + 0x14]
cmp ebp, eax
jge 0x4aafef
mov esi, ebp
shl ebp, 1
test ebp, ebp
jle 0x4aafd2
mov eax, edx
movzx edx, byte [ebx + 9]
test dl, dl
je 0x4aafba
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4aafb1
mov edx, esi
shl esi, 2
lea ebp, [esi + edx - 1]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x24], ebp
movzx esi, byte [ebx + 4]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4aafaa
mov esi, dword [ebx + 0x10]
cmp esi, ebp
jle 0x4aafa3
mov ecx, ebp
movzx ebp, byte [ebx + 6]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4aaf80
mov ebp, dword [ebx]
mov esi, dword [ebp + 4]
mov edi, edx
mov edx, dword [ebp + 8]
mov ebp, dword [ebp]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4aaf79
mov ebx, dword [esp + 0x6c]
cmp ebx, 0x10
jbe 0x4ab02f
mov dword [esp + 0x2c], esi
lea ebx, [esi + 2]
mov esi, dword [esp + 0x68]
movzx esi, byte [esi + 0x10]
cmp ebx, edx
ja 0x4aaf2c
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x2c]
mov byte [ebp + edx], 0x30
xchg esi, eax
mov byte [ebp + edx + 1], al
xchg esi, eax
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
jmp 0x4aacb3
movzx ecx, byte [esp + 0x23]
mov eax, dword [esp + 0x48]
mov byte [eax + ebx], cl
xchg esi, ecx
mov byte [eax + ebx + 1], cl
xchg esi, ecx
mov ecx, dword [esp + 0x28]
inc ecx
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x5c]
mov esi, ebx
mov dword [esp + 0x28], ecx
mov ebx, ebp
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
cmp edi, esi
jle 0x4aaee0
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x50]
movzx ebp, byte [ebp + 9]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4aaedc
test esi, esi
jle 0x4aaed1
lea ebp, [ebx + 1]
cmp edx, ebp
jb 0x4aae7f
mov esi, dword [esp + 0x48]
mov byte [esi + ebx], 0x20
mov ebx, dword [esp + 0x50]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4aae76
mov ebx, dword [esp + 0x6c]
cmp ebx, 0x10
jbe 0x4ab023
mov dword [esp + 0x38], ebp
lea ebx, [ebp + 2]
mov ebp, dword [esp + 0x68]
movzx ebp, byte [ebp + 0x10]
cmp edx, ebx
jb 0x4aae27
test eax, eax
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x38]
mov byte [esi + edx], 0x30
xchg ebp, eax
mov byte [esi + edx + 1], al
xchg ebp, eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0x48], esi
je 0x4aae04
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x60]
cmp ebp, esi
jae 0x4ab01a
movzx esi, byte [eax + ebp]
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
xchg esi, eax
shr al, 4
xchg esi, eax
xchg esi, eax
movzx eax, al
xchg esi, eax
mov ebp, dword [esp + 0x6c]
cmp esi, ebp
jae 0x4ab008
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x68]
movzx esi, byte [edx + esi]
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
movzx esi, byte [esp + 0x21]
and esi, 0xf
cmp esi, ebp
jae 0x4aafff
lea ebp, [ebx + 2]
movzx esi, byte [edx + esi]
mov edx, dword [esp + 0x30]
cmp ebp, edx
jbe 0x4aac7e
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov dword [esp + 0x2c], ebx
lea eax, [0x633cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.004429e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 2]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x5c]
jmp 0x4aac7e
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
cmp ebp, esi
jae 0x4ab011
mov ecx, dword [esp + 0x54]
movzx ecx, byte [ecx + ebp]
mov esi, ecx
mov ecx, dword [esp + 0x24]
jmp 0x4aad5a
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
lea eax, [0x633cc0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004429e0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x5c]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx ebp, byte [esp + 0x23]
mov edi, dword [esp + 0x3c]
jmp 0x4aad26
test eax, eax
mov ebx, ebp
jmp 0x4aad3c
mov dword [esp + 0x34], ebx
lea eax, [0x633cc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.004429e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x5c]
jmp 0x4aace8
test eax, eax
mov esi, dword [esp + 0x48]
jmp 0x4aad3c
test eax, eax
jmp 0x4aaed3
mov esi, dword [esp + 0x50]
mov edi, dword [esi]
mov dword [edi + 4], ebx
mov dword [edi + 8], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x4aaf23
mov dword [edi], ebp
movzx eax, byte [esi + 4]
test al, al
je 0x4aaf0f
mov eax, dword [esi + 0x10]
cmp eax, ecx
jle 0x4aaf0f
movzx edx, byte [esi + 6]
test dl, dl
jne 0x4aaf13
add esp, 0x4c
ret
mov dword [esp], esi
sub eax, ecx
mov dword [esp + 4], eax
call fcn.004a97a0
jmp 0x4aaf0f
mov eax, ebp
call fcn.0045ace0
jmp 0x4aaef8
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
lea eax, [0x633cc0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004429e0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
movzx esi, byte [esp + 0x23]
mov edi, dword [esp + 0x3c]
jmp 0x4aac53
mov ebx, esi
jmp 0x4aac6a
mov dword [esp], ebx
sub esi, ecx
mov dword [esp + 4], esi
call fcn.004a97a0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
jmp 0x4aac16
mov ecx, ebp
jmp 0x4aac16
mov ecx, ebp
jmp 0x4aac16
mov edx, esi
mov esi, ebp
jmp 0x4aabe1
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4aafce
lea edx, [ebp + 2]
mov ebp, edx
mov edx, esi
jmp 0x4aabe5
mov edx, ebp
jmp 0x4aafc5
movzx eax, byte [ebx + 4]
test al, al
jne 0x4aafde
add esp, 0x4c
ret
mov eax, dword [ebx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004a97a0
jmp 0x4aafda
mov ebp, eax
jmp 0x4aabb6
mov eax, dword [esp + 0x58]
jmp 0x4aab99
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
mov eax, esi
mov ecx, ebp
call fcn.0045ad60
mov eax, ebp
mov ecx, esi
call fcn.0045ad60
mov eax, ebp
mov ecx, esi
call fcn.0045ad60
mov eax, 0x10
mov ecx, ebx
call fcn.0045ad60
mov eax, 0x10
mov ecx, ebx
call fcn.0045ad60
nop
call fcn.00459790
jmp fcn.004aab70