Function at 0x100283e0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
cmp byte [esi], 0
push ebx
push ebp
push edi
jne 0x10028685
mov al, byte [esi + 6]
mov ebp, dword [esi + 0x38]
mov edi, dword [esi + 0x34]
mov byte [esp + 0xf], al
movzx eax, al
movzx ecx, byte [eax + ebp]
lea ebx, [eax + ebp]
mov eax, esi
mov dword [esp + 0x18], edi
call fcn.10028310
test eax, eax
je 0x10028429
push 0xd8da
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
movzx ecx, word [edi + 0x20]
mov al, byte [esi + 7]
dec cx
mov word [esi + 0x14], cx
movzx ecx, byte [esp + 0xf]
movzx dx, al
add dx, cx
add dx, 8
movzx edx, dx
movzx ecx, dx
mov byte [esi + 1], 0
mov edi, dword [edi + 0x24]
mov word [esi + 0xe], dx
movzx edx, al
mov dword [esp + 0x14], edi
add edi, ebp
mov dword [esi + 0x3c], edi
add edx, ebp
mov dword [esi + 0x44], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
add ecx, ebp
mov dword [esi + 0x40], ecx
movzx edi, byte [ebx + 5]
movzx eax, byte [ebx + 6]
shl edi, 8
or edi, eax
movzx ax, byte [ebx + 3]
mov dword [esp + 0x24], ecx
movzx ecx, byte [ebx + 4]
shl ax, 8
or ax, cx
mov word [esi + 0x12], ax
mov edx, dword [edx + 0x20]
movzx ecx, ax
sub edx, 8
mov eax, 0xaaaaaaab
mul edx
dec edi
and edi, 0xffff
shr edx, 2
inc edi
cmp ecx, edx
jbe 0x100284cd
push 0xd8ec
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x20]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x14]
add eax, 0xfffffffc
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 4]
test dword [eax + 0x18], 0x10000000
je 0x10028578
cmp byte [esi + 5], 0
jne 0x10028501
dec dword [esp + 0x10]
mov dword [esp + 0x20], 0
test ecx, ecx
jle 0x1002856e
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ax, word [edx]
mov ch, al
mov cl, ah
movzx eax, cx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jl 0x1002863e
cmp eax, dword [esp + 0x10]
jg 0x1002863e
mov edx, dword [esi + 0x4c]
add eax, ebp
push eax
push esi
call edx
movzx eax, ax
add eax, dword [esp + 0x2c]
add esp, 8
cmp eax, dword [esp + 0x14]
jg 0x1002862a
mov eax, dword [esp + 0x20]
movzx ecx, word [esi + 0x12]
add dword [esp + 0x18], 2
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x10028515
cmp byte [esi + 5], 0
jne 0x10028578
inc dword [esp + 0x10]
movzx dx, byte [ebx + 1]
movzx ax, byte [ebx + 2]
movzx ebx, byte [ebx + 7]
shl dx, 8
or dx, ax
movzx eax, dx
add ebx, edi
mov dword [esp + 0x20], ebx
test ax, ax
jbe 0x10028610
jmp 0x100285a0
movzx eax, ax
cmp eax, dword [esp + 0x1c]
jl 0x10028666
cmp eax, dword [esp + 0x10]
jg 0x10028666
movzx ecx, byte [eax + ebp]
movzx dx, byte [eax + ebp + 1]
movzx di, byte [eax + ebp + 3]
shl cx, 8
or cx, dx
movzx edx, cx
movzx ecx, byte [eax + ebp + 2]
shl cx, 8
or cx, di
movzx ecx, cx
test dx, dx
jbe 0x100285f7
movzx edi, cx
movzx ebx, dx
lea edi, [edi + eax + 3]
cmp ebx, edi
jle 0x10028652
mov ebx, dword [esp + 0x20]
movzx ecx, cx
add eax, ecx
cmp eax, dword [esp + 0x14]
jg 0x10028652
add ebx, ecx
mov dword [esp + 0x20], ebx
movzx eax, dx
test dx, dx
ja 0x100285a0
cmp ebx, dword [esp + 0x14]
jle 0x1002867a
push 0xd936
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0xd90d
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0xd908
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0xd928
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0xd921
call fcn.10026140
add esp, 4
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret
sub ebx, dword [esp + 0x1c]
mov byte [esi], 1
mov word [esi + 0x10], bx
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret