Function at 0x10228684
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ecx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
push ebp
push edi
mov edi, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x14]
cmp eax, dword [ecx + 4]
jbe 0x102286a6
xor ebp, ebp
jmp 0x102286aa
mov ebp, dword [ecx]
add ebp, eax
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + 4]
push ebx
push esi
test eax, 0x100
je 0x10228723
test eax, 0x200
je 0x10228723
test byte [edi + 0xc], 1
je 0x102286d2
mov dword [esp + 0x20], 0xffff
jmp 0x102286f8
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + 0x10]
mov eax, dword [edi + 4]
lea ecx, [esp + 0x20]
push ecx
push dword [edx + 0x10]
mov ecx, dword [eax + 0x258]
call fcn.100554f5
test eax, eax
jns 0x102286f8
push eax
call fcn.100e1d28
mov ecx, dword [edi + 8]
mov esi, dword [ecx + 0x14]
lea eax, [esi + 0x10]
mov dword [ecx + 0x14], eax
cmp eax, dword [ecx + 0x18]
jbe 0x10228712
push 0x10
call fcn.100201da
mov esi, eax
mov dword [esi], 5
mov cx, word [esp + 0x20]
mov word [esi + 6], cx
jmp 0x1022874c
mov ecx, dword [edi + 8]
mov esi, dword [ecx + 0x14]
lea eax, [esi + 0x10]
mov dword [ecx + 0x14], eax
cmp eax, dword [ecx + 0x18]
jbe 0x1022873d
push 0x10
call fcn.100201da
mov esi, eax
mov eax, 8
mov dword [esi], 1
mov word [esi + 0xa], ax
mov eax, dword [esi]
dec eax
mov ebx, 6
mov dword [esp + 0x1c], ebx
cmp eax, 0xa
ja case.default.0x10228761
jmp dword [eax*4 + 0x10228980]
movzx edx, word [esi + 0xa]
mov ecx, 0x1e0
jmp 0x102288bc
mov ecx, 0x210
test byte [esi + 6], 1
movzx edx, word [esi + 0xa]
je 0x102288bc
movzx eax, word [esi + 8]
mov dword [esp + 0x1c], eax
mov ebx, 2
jmp 0x102288c1
movzx edx, word [esi + 6]
mov ecx, 0x270
jmp 0x102288bc
movzx edx, word [esi + 6]
mov ecx, 0x2a0
jmp 0x102288bc
movzx edx, word [esi + 0xa]
mov ecx, 0x3d0
jmp 0x102288bc
mov ecx, 0x240
jmp 0x1022877b
movzx eax, word [esi + 0xc]
movzx edx, word [esi + 0xa]
mov ecx, 0x2d0
mov dword [esp + 0x1c], eax
mov ebx, 2
jmp 0x102288c1
test byte [esi + 6], 1
mov ecx, 0x190
je 0x102287fb
movzx edx, word [esi + 8]
jmp 0x102288bc
mov edx, dword [esp + 0x28]
xor ebx, ebx
jmp 0x102288c1
lea eax, [esp + 0x1c]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 6]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x18d
push eax
call fcn.10043eb2
jmp 0x1022886c
lea eax, [esp + 0x1c]
push eax
push 0
mov ecx, edi
call fcn.102285f6
movzx eax, word [esi + 8]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [edi]
push eax
xor eax, eax
cmp ebx, 5
sete al
add eax, 0x406
push eax
call fcn.10043eb2
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
cmp ebx, 5
je 0x10228913
cmp ebx, 6
je 0x102288a5
jmp 0x102288ab
movzx eax, word [esi + 6]
mov ecx, dword [edi]
push eax
push 0x3cb
call fcn.10043eb2
movzx eax, word [esi + 8]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
movzx eax, word [esi + 0xa]
mov ecx, dword [edi]
push eax
call fcn.10043ef3
test byte [esi + 4], 4
je 0x10228913
push 0
push 0
push 0
push ebx
jmp 0x1022890c
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x28]
mov ebx, 1
add ecx, 0xb
test bx, bx
jne 0x102288d3
push ecx
mov ecx, dword [edi]
call fcn.10044899
jmp 0x102288ed
push edx
push ecx
mov ecx, dword [edi]
call fcn.10043eb2
cmp bx, 2
jne 0x102288ed
push dword [esp + 0x1c]
mov ecx, dword [edi]
call fcn.10043ef3
mov eax, dword [esi]
cmp eax, 5
je 0x102288fe
cmp eax, 0xa
je 0x102288fe
cmp eax, 7
jne 0x10228913
test byte [esi + 4], 4
je 0x10228913
push 0
push 0
push 0
push 6
mov ecx, edi
call fcn.10228622
mov ecx, dword [esp + 0x10]
mov dword [ecx], 8
movzx eax, word [ebp + 8]
mov word [ecx + 8], ax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x1c]
movzx eax, word [eax + 0x17a]
mov word [ecx + 6], ax
test byte [ebp + 1], 0x50
pop esi
pop ebx
jne 0x1022896c
test byte [ebp], 8
jne 0x1022896c
test byte [ebp + 0x10], 4
jne 0x1022896c
mov ax, word [ebp + 0xa]
inc ax
mov edx, 0xfff
and ax, dx
movzx eax, ax
mov word [ecx + 0xa], ax
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], ecx
pop ebp
pop ecx
ret 0x14
xor eax, eax
mov word [ecx + 0xa], ax
mov eax, dword [esp + 0x20]
pop edi
mov dword [eax], ecx
pop ebp
pop ecx
ret 0x14