Function at 0x4a2a10
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a2ed5
sub esp, 0x50
mov edx, dword [esp + 0x60]
test edx, edx
je 0x4a2e8f
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x54]
movzx ebp, byte [ebx + 5]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a2e88
mov ebp, dword [ebx + 0x14]
cmp ebp, eax
jge 0x4a2e88
mov esi, ebp
shl ebp, 1
test ebp, ebp
jle 0x4a2e6b
mov eax, edx
movzx edx, byte [ebx + 9]
test dl, dl
je 0x4a2e53
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4a2e4a
mov edx, esi
shl esi, 2
lea ebp, [esi + edx - 1]
mov dword [esp + 0x40], edx
mov dword [esp + 0x24], ebp
movzx esi, byte [ebx + 4]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a2e43
mov esi, dword [ebx + 0x10]
cmp esi, ebp
jle 0x4a2e3c
mov ecx, ebp
movzx ebp, byte [ebx + 6]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a2e19
mov ebp, dword [ebx]
mov esi, dword [ebp + 4]
mov edi, edx
mov edx, dword [ebp]
mov ebp, dword [ebp + 8]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4a2e12
mov ebx, dword [esp + 0x70]
cmp ebx, 0x10
jbe 0x4a2ec8
mov dword [esp + 0x2c], esi
lea ebx, [esi + 2]
mov esi, dword [esp + 0x6c]
movzx esi, byte [esi + 0x10]
cmp ebx, ebp
ja 0x4a2dc5
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x2c]
mov byte [edx + ebx], 0x30
xchg esi, eax
mov byte [edx + ebx + 1], al
xchg esi, eax
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
jmp 0x4a2b50
movzx ecx, byte [esp + 0x23]
mov eax, dword [esp + 0x4c]
mov byte [eax + edx], cl
xchg esi, ebx
mov byte [eax + edx + 1], bl
xchg esi, ebx
mov ecx, dword [esp + 0x28]
inc ecx
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x5c]
mov eax, dword [esp + 0x60]
mov esi, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
cmp esi, edi
jge 0x4a2d79
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x54]
movzx edx, byte [edx + 9]
test dl, dl
je 0x4a2d75
test esi, esi
jle 0x4a2d68
lea edx, [ebx + 1]
cmp edx, ebp
ja 0x4a2d16
mov esi, dword [esp + 0x4c]
mov byte [esi + ebx], 0x20
mov ebx, dword [esp + 0x54]
movzx ebx, byte [ebx + 8]
test bl, bl
je 0x4a2d0f
mov ebx, dword [esp + 0x70]
cmp ebx, 0x10
jbe 0x4a2ebc
mov dword [esp + 0x38], edx
lea ebx, [edx + 2]
mov edx, dword [esp + 0x6c]
movzx edx, byte [edx + 0x10]
cmp ebx, ebp
ja 0x4a2cc2
test eax, eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x38]
mov byte [esi + ebx], 0x30
mov byte [esi + ebx + 1], dl
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], esi
je 0x4a2c9f
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x64]
cmp ebx, esi
jae 0x4a2eb3
movzx esi, byte [eax + ebx]
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 ebx, dword [esp + 0x70]
cmp esi, ebx
jae 0x4a2ea1
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x6c]
movzx esi, byte [ebp + esi]
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
movzx esi, byte [esp + 0x21]
and esi, 0xf
cmp esi, ebx
jae 0x4a2e98
lea ebx, [edx + 2]
movzx esi, byte [ebp + esi]
mov ebp, dword [esp + 0x30]
cmp ebx, ebp
jbe 0x4a2b1d
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov dword [esp + 0x2c], edx
lea eax, [0x5000c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004401b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [ecx + 2]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
movzx esi, byte [esp + 0x22]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
jmp 0x4a2b1d
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x5c]
cmp ebx, esi
jae 0x4a2eaa
mov ecx, dword [esp + 0x58]
movzx ecx, byte [ecx + ebx]
mov esi, ecx
mov ecx, dword [esp + 0x24]
jmp 0x4a2bf3
mov byte [esp + 0x23], dl
lea eax, [0x5000c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004401b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x60]
test eax, eax
mov ecx, dword [esp + 0x24]
movzx edx, byte [esp + 0x23]
mov edi, dword [esp + 0x40]
jmp 0x4a2bc1
test eax, eax
jmp 0x4a2bd5
mov dword [esp + 0x34], ebx
lea eax, [0x5000c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004401b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
jmp 0x4a2b83
test eax, eax
mov esi, dword [esp + 0x4c]
mov edx, ebx
jmp 0x4a2bd5
test eax, eax
jmp 0x4a2d6a
mov esi, dword [esp + 0x54]
mov edi, dword [esi]
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ebx, dword [0x613370]
test ebx, ebx
jne 0x4a2dbc
mov dword [edi], edx
movzx eax, byte [esi + 4]
test al, al
je 0x4a2da8
mov eax, dword [esi + 0x10]
cmp eax, ecx
jle 0x4a2da8
movzx edx, byte [esi + 6]
test dl, dl
jne 0x4a2dac
add esp, 0x50
ret
mov dword [esp], esi
sub eax, ecx
mov dword [esp + 4], eax
call fcn.004a1650
jmp 0x4a2da8
mov eax, edx
call fcn.00455f20
jmp 0x4a2d91
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
lea eax, [0x5000c0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004401b0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
movzx esi, byte [esp + 0x23]
mov edi, dword [esp + 0x40]
jmp 0x4a2af3
mov ebx, esi
jmp 0x4a2b09
mov dword [esp], ebx
sub esi, ecx
mov dword [esp + 4], esi
call fcn.004a1650
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
jmp 0x4a2ab6
mov ecx, ebp
jmp 0x4a2ab6
mov ecx, ebp
jmp 0x4a2ab6
mov edx, esi
mov esi, ebp
jmp 0x4a2a81
movzx edx, byte [ebx + 8]
test dl, dl
je 0x4a2e67
lea edx, [ebp + 2]
mov ebp, edx
mov edx, esi
jmp 0x4a2a85
mov edx, ebp
jmp 0x4a2e5e
movzx eax, byte [ebx + 4]
test al, al
jne 0x4a2e77
add esp, 0x50
ret
mov eax, dword [ebx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004a1650
jmp 0x4a2e73
mov ebp, eax
jmp 0x4a2a56
mov eax, dword [esp + 0x5c]
jmp 0x4a2a39
mov eax, esi
mov ecx, ebx
call fcn.00455fa0
mov eax, esi
mov ecx, ebx
call fcn.00455fa0
mov eax, ebx
mov ecx, esi
call fcn.00455fa0
mov eax, ebx
mov ecx, esi
call fcn.00455fa0
mov eax, 0x10
mov ecx, ebx
call fcn.00455fa0
mov eax, 0x10
mov ecx, ebx
call fcn.00455fa0
nop
call fcn.004546e0
jmp fcn.004a2a10