Function at 0x1002e2d0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x38
push ebx
mov ebx, edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 0x10]
push ebp
push esi
mov eax, dword [edx + 0x200]
xor esi, esi
add eax, dword [edx + 0x1fc]
movzx ebp, byte [ecx + 7]
mov dword [esp + 0x20], eax
movzx eax, byte [ecx + 6]
shl eax, 8
or ebp, eax
mov dword [esp + 0x3c], ebx
and ebp, 0xfffffffe
mov dword [esp + 0x24], edx
mov eax, ebp
mov dword [esp + 0x28], ebp
shr eax, 1
push edi
mov edi, dword [ebx]
mov dword [esp + 0x18], eax
je 0x1002e4f8
mov bl, byte [esp + 0x4c]
lea eax, [edi + 1]
test bl, bl
cmove eax, edi
cmp eax, 0xffff
ja 0x1002e4f8
lea edx, [ecx + 0x10]
mov dword [esp + 0x14], esi
add edx, ebp
cmp dword [esp + 0x18], esi
jbe 0x1002e4e2
lea edi, [edx - 2]
add ecx, 0xd
mov dword [esp + 0x1c], edi
lea edi, [ebp - 2]
add edi, edx
mov edx, 1
sub edx, ebp
mov dword [esp + 0x3c], edx
movzx ebp, byte [ecx + 1]
add ecx, 2
movzx edx, byte [edx + edi + 2]
add edi, 2
mov dword [esp + 0x38], ecx
shl ebp, 8
movzx ecx, byte [ecx]
or ebp, ecx
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0x1c]
add ecx, 2
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or edx, ecx
mov dword [esp + 0x20], edx
cmp eax, edx
jae 0x1002e3a8
test bl, bl
je 0x1002e4ec
mov eax, edx
cmp eax, ebp
ja 0x1002e4c7
movzx ecx, byte [edi]
shl cx, 8
movsx ecx, cx
mov dword [esp + 0x34], ecx
nop
mov ebp, dword [esp + 0x30]
mov edx, edi
movzx ebx, byte [edx + 1]
add edx, dword [esp + 0x2c]
or ebx, ecx
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl edi, 8
or edi, ecx
mov ecx, dword [esp + 0x18]
dec ecx
cmp dword [esp + 0x14], ecx
jb 0x1002e43c
cmp dword [esp + 0x20], 0xffff
jne 0x1002e43c
cmp ebp, 0xffff
jne 0x1002e43c
test edi, edi
je 0x1002e43c
lea ecx, [edx + 2]
add ecx, edi
cmp ecx, dword [esp + 0x24]
jbe 0x1002e43c
mov ecx, 1
mov ebx, ecx
cmp byte [esp + 0x4c], 0
lea edx, [ecx + eax]
movzx esi, dx
je 0x1002e4ec
mov edi, dword [esp + 0x28]
cmp esi, dword [edi + 0x10]
jb 0x1002e488
xor esi, esi
lea edi, [ebx + ebp]
test edx, edx
jns 0x1002e4a6
test edi, edi
js 0x1002e4ae
mov eax, ecx
neg eax
jmp 0x1002e48c
cmp edi, 0xffff
je 0x1002e4bf
mov ecx, ebx
test edi, edi
je 0x1002e40f
mov ecx, eax
sub ecx, dword [esp + 0x20]
lea ecx, [edi + ecx*2]
add edx, ecx
cmp byte [esp + 0x4c], 0
je 0x1002e462
cmp edx, dword [esp + 0x24]
ja 0x1002e4bf
movzx esi, byte [edx]
movzx ecx, byte [edx + 1]
shl esi, 8
or esi, ecx
je 0x1002e481
mov edx, dword [esp + 0x28]
lea ecx, [ebx + esi]
movzx ecx, cx
cmp ecx, dword [edx + 0x10]
sbb esi, esi
and esi, ecx
cmp byte [esp + 0x4c], 0
je 0x1002e4ec
test esi, esi
jne 0x1002e4e6
cmp eax, 0xffff
jae 0x1002e4e6
mov edi, dword [esp + 0x10]
inc eax
mov ecx, dword [esp + 0x34]
cmp eax, ebp
jbe 0x1002e3c0
jmp 0x1002e4c3
cmp edx, 0x10000
jge 0x1002e4bf
cmp edi, 0x10000
jl 0x1002e4bf
mov eax, 0x10000
sub eax, ecx
jmp 0x1002e48c
mov edi, dword [esp + 0x10]
mov bl, byte [esp + 0x4c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
inc ecx
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x38]
jb 0x1002e360
test bl, bl
je 0x1002e4ec
mov ecx, dword [esp + 0x40]
mov dword [ecx], eax
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret 4