Function at 0x10002a56
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x84
push ebx
push ebp
push esi
push edi
xor ebp, ebp
push 0x16d4fae8
mov dword [esp + 0x14], ebp
call fcn.10016380
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push 0x28
lea ecx, [esp + 0x74]
push ebp
mov dword [ebx], ebp
push ecx
mov dword [eax], ebp
call fcn.1002050a
push 0x28
lea edx, [esp + 0x58]
push ebp
push edx
call fcn.1002050a
push 0x28
lea eax, [esp + 0x3c]
push ebp
push eax
call fcn.1002050a
mov edi, dword [esp + 0xc8]
push 0x2b
push edi
call fcn.10016580
mov esi, eax
add esp, 0x30
test esi, esi
je 0x10002a29
mov edx, dword [esi + 0xb]
mov eax, dword [esi + 7]
lea ecx, [esi + 0xf]
push ecx
mov cl, byte [esi + 6]
push edx
mov dl, byte [esi + 5]
push eax
push ecx
push edx
push 0x16d4fae8
call fcn.100169a0
push esi
push edi
call fcn.100165c0
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x100029fb
push 0x16d4fae8
call fcn.10002e80
mov esi, eax
add esp, 4
test esi, esi
je 0x10002a56
push 0x16d4fae8
call fcn.10016380
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
push 0x2b
push 0x16d4fae8
call fcn.10016580
add esp, 8
test eax, eax
je 0x10002a9f
mov cl, byte [eax + 5]
inc ebp
cmp cl, 9
jbe 0x10002a78
inc dword [esp + 0x68]
jmp 0x10002a89
and ecx, 0xff
mov edx, dword [esp + ecx*4 + 0x40]
lea ecx, [esp + ecx*4 + 0x40]
inc edx
mov dword [ecx], edx
push eax
push 0x16d4fae8
call fcn.100165c0
add esp, 8
test eax, eax
jne 0x10002a69
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], 0
xor eax, eax
mov ecx, dword [esp + eax + 0x1c]
mov esi, dword [esp + eax + 0x44]
add ecx, esi
mov dword [esp + eax + 0x20], ecx
add eax, 4
cmp eax, 0x24
jb 0x10002aa9
test ebp, ebp
jne 0x10002add
push 0x16d4fae8
call fcn.10016380
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
push ebp
push 4
call fcn.100102e0
push 0x2b
push 0x16d4fae8
mov dword [esp + 0x28], eax
call fcn.10016580
mov esi, eax
add esp, 0x10
test esi, esi
je 0x10002be8
mov dl, byte [esi + 6]
mov al, byte [esi + 5]
push edx
push eax
call fcn.10003490
add esp, 8
test eax, eax
jne 0x10002b64
mov dl, byte [esi + 5]
cmp dl, 9
jbe 0x10002b28
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x68]
jmp 0x10002b3a
mov eax, edx
and eax, 0xff
shl eax, 2
mov ecx, dword [esp + eax + 0x18]
mov eax, dword [esp + eax + 0x40]
add eax, ecx
mov ebp, ecx
cmp ecx, eax
jae 0x10002b64
mov edi, dword [esp + 0x18]
lea edi, [edi + ecx*4]
mov ecx, dword [edi]
test ecx, ecx
je 0x10002b64
cmp byte [ecx + 5], dl
jne 0x10002b5c
mov cl, byte [ecx + 6]
cmp cl, byte [esi + 6]
je 0x10002bcc
inc ebp
add edi, 4
cmp ebp, eax
jb 0x10002b49
push esi
call fcn.100024e0
mov al, byte [esi + 5]
add esp, 4
cmp al, 9
jbe 0x10002b8c
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x40]
lea eax, [ecx + edx]
inc ecx
mov dword [esp + 0x90], ecx
jmp 0x10002ba5
and eax, 0xff
shl eax, 2
mov edx, dword [esp + eax + 0x68]
lea ecx, [esp + eax + 0x68]
mov eax, dword [esp + eax + 0x18]
add eax, edx
inc edx
mov dword [ecx], edx
mov ecx, dword [esp + 0x18]
mov dword [ecx + eax*4], esi
mov edx, dword [esi + 0xb]
mov edi, dword [ebx]
add edx, 5
add edi, edx
mov dword [ebx], edi
mov ecx, dword [esi + 0xb]
cmp ecx, 0x7fff
mov eax, edi
jbe 0x10002bcc
add eax, 0x8004
mov dword [ebx], eax
push esi
push 0x16d4fae8
call fcn.100165c0
mov esi, eax
add esp, 8
test esi, esi
jne 0x10002b02
mov ebp, dword [esp + 0x10]
mov eax, dword [ebx]
push eax
push 1
call fcn.100102e0
mov ecx, dword [esp + 0xa0]
add esp, 8
test ebp, ebp
mov dword [ecx], eax
mov esi, eax
jbe 0x10002e47
mov edi, dword [esp + 0x18]
mov ebx, 2
mov ecx, dword [edi]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
je 0x10002e3d
mov byte [esi], 0x1c
mov edx, dword [edi]
inc esi
mov al, byte [edx + 5]
mov byte [esi], al
mov ecx, dword [edi]
inc esi
mov dl, byte [ecx + 6]
mov byte [esi], dl
mov eax, dword [edi]
inc esi
mov eax, dword [eax + 0xb]
cmp eax, 0x7fff
jbe 0x10002c7b
mov byte [esi], 0x80
mov byte [esi + 1], 4
mov ecx, dword [edi]
add esi, ebx
mov edx, dword [ecx + 0xb]
shr edx, 0x18
mov byte [esi], dl
mov eax, dword [edi]
mov ecx, dword [eax + 0xb]
shr ecx, 0x10
mov byte [esi + 1], cl
mov edx, dword [edi]
mov eax, dword [edx + 0xb]
shr eax, 8
mov byte [esi + 2], al
mov ecx, dword [edi]
add esi, 4
mov dl, byte [ecx + 0xb]
mov byte [esi - 1], dl
jmp 0x10002c8a
shr eax, 8
mov byte [esi], al
mov eax, dword [edi]
mov cl, byte [eax + 0xb]
mov byte [esi + 1], cl
add esi, ebx
mov eax, dword [edi]
mov ecx, dword [eax + 7]
cmp ecx, 3
je 0x10002db0
cmp ecx, 4
je 0x10002db0
cmp ecx, 5
je 0x10002db0
cmp ecx, 6
je 0x10002db0
cmp ecx, 7
jne 0x10002d5a
cmp dword [eax + 0xb], 0x10
jne 0x10002d5a
add eax, 0xf
push ebx
lea edx, [esp + 0x18]
push eax
push edx
call fcn.10020446
xor eax, eax
push 4
mov al, byte [esp + 0x25]
mov byte [esi], al
mov cl, byte [esp + 0x24]
mov byte [esi + 1], cl
mov edx, dword [edi]
add edx, 0x11
lea eax, [esp + 0x20]
push edx
push eax
call fcn.10020446
mov ecx, dword [esp + 0x28]
shr ecx, 0x18
mov byte [esi + 2], cl
mov edx, dword [esp + 0x28]
shr edx, 0x10
mov byte [esi + 3], dl
mov eax, dword [esp + 0x28]
shr eax, 8
mov byte [esi + 4], al
mov cl, byte [esp + 0x28]
mov byte [esi + 5], cl
mov eax, dword [edi]
mov edx, dword [eax + 0xb]
add eax, 0x15
sub edx, 6
push edx
push eax
lea eax, [esi + 6]
push eax
call fcn.10020446
mov ecx, dword [edi]
push ebx
add ecx, 0x1d
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.10020446
add esp, 0x30
xor eax, eax
mov al, byte [esp + 0x15]
mov byte [esi + 0xe], al
mov cl, byte [esp + 0x14]
mov byte [esi + 0xf], cl
jmp 0x10002e38
cmp ecx, 8
jne 0x10002d9a
cmp dword [eax + 0xb], ebx
jb 0x10002d9a
add eax, 0xf
push ebx
lea edx, [esp + 0x18]
push eax
push edx
call fcn.10020446
mov eax, dword [edi]
mov ecx, dword [eax + 0xb]
add eax, 0xf
push ecx
push eax
push esi
call fcn.10020446
add esp, 0x18
xor edx, edx
mov dl, byte [esp + 0x15]
mov byte [esi], dl
mov al, byte [esp + 0x14]
mov byte [esi + 1], al
jmp 0x10002e38
mov ecx, dword [eax + 0xb]
add eax, 0xf
push ecx
push eax
push esi
call fcn.10020446
add esp, 0xc
jmp 0x10002e38
mov ecx, dword [eax + 0xb]
dec ecx
cmp ecx, 3
ja 0x10002e38
jmp dword [ecx*4 + 0x16d22e6c]
mov ecx, dword [edi]
add esi, dword [ecx + 0xb]
add edi, 4
dec ebp
jne 0x10002c11
mov edx, dword [esp + 0x18]
push edx
call fcn.10010230
push 0x16d4fae8
call fcn.10016380
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret