Function at 0xa141f0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x14]
xor bl, bl
push edi
mov edi, dword [esp + 0x1c]
cmp esi, 6
lea ebp, [eax + esi*2]
jbe 0xa14249
push 0xe
push str._drive_
push eax
call fcn.00a887b0
add esp, 0xc
test eax, eax
jne 0xa14249
mov eax, dword [esp + 0x14]
mov cx, word [eax + 0xe]
push ecx
mov ecx, edi
call fcn.00a15cc0
push 0x3a
mov ecx, edi
call fcn.00a15cc0
mov ecx, dword [esp + 0x14]
mov bl, 1
add ecx, 0x12
mov dword [esp + 0x14], ecx
jmp 0xa142c9
mov al, byte [esp + 0x20]
test al, al
je 0xa142c5
mov eax, dword [esp + 0x14]
xor bl, bl
cmp word [eax], 0x25
je 0xa1426f
mov ecx, dword [esp + 0x1c]
push esi
push eax
call fcn.00a15880
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
ret
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push esi
push ebp
push edx
call fcn.00a14500
mov bl, al
mov eax, dword [esp + 0x20]
add esp, 0xc
cmp eax, ebp
jae 0xa142a6
mov cx, word [eax]
add eax, 2
push ecx
mov ecx, esi
mov dword [esp + 0x18], eax
call fcn.00a15cc0
mov eax, dword [esp + 0x14]
cmp eax, ebp
jb 0xa1428c
mov eax, dword [esi + 4]
mov ecx, esi
inc eax
push eax
call fcn.00a15dc0
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
pop edi
pop esi
mov al, bl
pop ebp
mov word [edx + ecx*2], 0
pop ebx
ret
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jae 0xa14465
mov ax, word [ecx]
cmp ax, 0x23
jne 0xa1441f
lea edx, [ecx + 6]
cmp edx, ebp
ja 0xa1441f
mov ax, word [ecx + 2]
cmp ax, 0x23
jne 0xa143c2
lea edx, [ecx + 0xc]
cmp edx, ebp
ja 0xa143c2
mov ax, word [ecx + 4]
push eax
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov ecx, dword [esp + 0x14]
mov dx, word [ecx + 6]
push edx
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov eax, dword [esp + 0x14]
mov cx, word [eax + 8]
push ecx
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov edx, dword [esp + 0x14]
mov ax, word [edx + 0xa]
push eax
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov ecx, dword [esp + 0x14]
mov dx, word [ecx + 4]
push edx
call fcn.00a144c0
mov esi, eax
mov eax, dword [esp + 0x18]
shl esi, 4
mov cx, word [eax + 6]
push ecx
call fcn.00a144c0
mov edx, dword [esp + 0x1c]
or esi, eax
shl esi, 4
mov ax, word [edx + 8]
push eax
call fcn.00a144c0
mov ecx, dword [esp + 0x20]
or esi, eax
shl esi, 4
mov dx, word [ecx + 0xa]
push edx
call fcn.00a144c0
add esp, 0x10
or esi, eax
mov ecx, edi
push esi
call fcn.00a15cc0
mov eax, dword [esp + 0x14]
add eax, 0xc
jmp 0xa14455
push eax
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov eax, dword [esp + 0x14]
mov cx, word [eax + 4]
push ecx
call fcn.00a14490
add esp, 4
test al, al
je 0xa1441b
mov edx, dword [esp + 0x14]
mov ax, word [edx + 2]
push eax
call fcn.00a144c0
mov ecx, dword [esp + 0x18]
mov esi, eax
mov dx, word [ecx + 4]
push edx
call fcn.00a144c0
shl esi, 4
add esp, 8
or eax, esi
mov ecx, edi
push eax
call fcn.00a15cc0
mov eax, dword [esp + 0x14]
add eax, 6
jmp 0xa14455
push 0x23
jmp 0xa14447
cmp ax, 0x25
jne 0xa14446
push edi
lea eax, [esp + 0x18]
push ebp
push eax
call fcn.00a14500
add esp, 0xc
test al, al
je 0xa1443c
mov bl, 1
jmp 0xa14459
mov ecx, dword [esp + 0x14]
mov dx, word [ecx]
push edx
jmp 0xa14447
push eax
mov ecx, edi
call fcn.00a15cc0
mov eax, dword [esp + 0x14]
add eax, 2
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jb 0xa142d1
mov eax, dword [edi + 4]
mov ecx, edi
inc eax
push eax
call fcn.00a15dc0
mov ecx, dword [edi + 4]
mov edx, dword [edi + 8]
pop edi
pop esi
mov al, bl
pop ebp
mov word [edx + ecx*2], 0
pop ebx
ret