Function at 0x10009a10
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push esi
push edi
mov edx, 0xef
mov esi, ebp
mov edi, eax
call fcn.100057b0
movzx ecx, word [ebp]
mov edx, eax
mov eax, 0x8000
mov dword [esp + 0x14], edx
cmp cx, ax
jae 0x10009a78
movzx ebx, byte [ebp + 3]
mov esi, dword [edi + 0x48]
mov ecx, dword [esi + ecx*8]
mov ecx, dword [ecx + ebx*4 + 0x14]
mov eax, dword [edi + 0x40]
and dl, 7
add dl, dl
add dl, dl
add dl, dl
add ecx, 0x10
add dl, 5
mov dword [eax - 4], ecx
mov byte [eax - 5], dl
mov dword [eax - 9], 0x8b0000fe
add eax, 0xfffffffa
mov dword [edi + 0x40], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
mov eax, dword [edi + 0x58]
and eax, 0xef
jne 0x10009b0b
mov ecx, dword [edi]
or eax, 0xffffffff
cmp ecx, 0xffffffff
jae 0x10009a92
mov eax, ecx
mov ecx, dword [edi + 4]
cmp ecx, eax
jae 0x10009a9b
mov eax, ecx
mov ecx, dword [edi + 8]
cmp ecx, eax
jae 0x10009aa4
mov eax, ecx
mov ecx, dword [edi + 0xc]
cmp ecx, eax
jae 0x10009aad
mov eax, ecx
mov ecx, dword [edi + 0x14]
cmp ecx, eax
jae 0x10009ab6
mov eax, ecx
mov ecx, dword [edi + 0x18]
cmp ecx, eax
jae 0x10009abf
mov eax, ecx
mov ecx, dword [edi + 0x1c]
cmp ecx, eax
jae 0x10009ac8
mov eax, ecx
movzx eax, ax
cmp eax, 0x8000
jb 0x10009afc
mov ecx, dword [edi + 0x60]
mov esi, ecx
and esi, 0xef
je 0x10009afc
mov edx, dword [edi + 0x48]
mov ebx, ecx
mov cl, byte [edx + eax*8 + 6]
shr ebx, cl
test bl, 1
jne 0x10009afc
bsf eax, esi
mov ecx, eax
mov dword [esp + 0x18], eax
movzx eax, word [edi + ecx*4]
mov ecx, eax
call fcn.10005130
mov edx, dword [esp + 0x14]
mov ebx, eax
jmp 0x10009b14
bsr eax, eax
mov dword [esp + 0x18], eax
mov ebx, eax
mov ecx, ebx
mov eax, 1
shl eax, cl
mov ecx, dword [edi + 0x48]
or dword [edi + 0x5c], eax
movzx esi, word [ebp]
movzx ecx, byte [ecx + esi*8 + 6]
mov dword [esp + 0x10], ecx
test cl, cl
jns 0x10009b4e
push esi
mov eax, 0xef
mov esi, edi
call fcn.10005620
mov edx, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], eax
mov ecx, eax
mov eax, 1
shl eax, cl
not eax
and dword [edi + 0x60], eax
cmp byte [ebp + 5], 0x3d
jne 0x10009c2d
mov eax, dword [edi + 0x40]
mov ebp, ebx
and ebp, 0x80
mov dword [esp + 0x14], ebx
jne 0x10009b91
mov ecx, ebx
dec eax
and cl, 7
mov byte [eax], 8
mov dword [esp + 0x18], 0x40
cmp cl, 4
jne 0x10009bab
dec eax
mov byte [eax], 0x24
jmp 0x10009bab
mov dword [eax - 4], 8
add eax, 0xfffffffc
mov dword [esp + 0x14], 5
mov dword [esp + 0x18], 0
mov cl, byte [esp + 0x14]
and dl, 7
add dl, dl
add dl, dl
add dl, dl
and cl, 7
add dl, cl
add dl, byte [esp + 0x18]
mov dword [eax - 5], 0x8d0000fe
mov byte [eax - 1], dl
add eax, 0xfffffffe
mov dword [edi + 0x40], eax
mov ecx, 5
mov eax, edi
call fcn.10006c90
dec dword [edi + 0x40]
mov eax, dword [edi + 0x40]
mov byte [eax], 1
mov esi, dword [edi + 0x40]
mov eax, ebx
test ebp, ebp
jne 0x10009c06
mov edx, ebx
dec esi
and dl, 7
mov byte [esi], 6
lea ecx, [ebp + 0x40]
cmp dl, 4
jne 0x10009c17
dec esi
mov byte [esi], 0x24
jmp 0x10009c17
mov dword [esi - 4], 6
add esi, 0xfffffffc
mov eax, 5
xor ecx, ecx
mov ebp, dword [esp + 0x20]
and al, 7
add al, cl
add al, 0x38
mov byte [esi - 1], al
mov dword [esi - 5], 0x800000fe
jmp 0x10009c84
mov esi, dword [edi + 0x40]
mov eax, ebx
test bl, bl
js 0x10009c52
mov ecx, ebx
dec esi
and cl, 7
mov byte [esi], 0x10
mov dword [esp + 0x20], 0x40
cmp cl, 4
jne 0x10009c69
dec esi
mov byte [esi], 0x24
jmp 0x10009c69
mov dword [esi - 4], 0x10
add esi, 0xfffffffc
mov eax, 5
mov dword [esp + 0x20], 0
and dl, 7
add dl, dl
add dl, dl
add dl, dl
and al, 7
add dl, al
add dl, byte [esp + 0x20]
mov dword [esi - 5], 0x8b0000fe
mov byte [esi - 1], dl
mov ecx, dword [esp + 0x10]
add esi, 0xfffffffe
mov dword [edi + 0x40], esi
movzx edx, byte [ebp + 3]
push ebx
lea edx, [edx*4 + 0x14]
push 0x8b0000fe
mov esi, edi
call fcn.100049a0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret