Function at 0x1005f77e
Capabilities:
Enumerate pe sections

Disassembly:
push 0x64
mov eax, 0x100d8709
call fcn.100c755a
mov dword [ebp - 0x10], ecx
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ecx], eax
cmp eax, 0x454c4946
je 0x1005f7b2
cmp eax, 2
jbe 0x1005f7ab
cmp eax, 0x44414142
jne 0x1005f9c1
mov al, 1
jmp 0x1005f9c3
movzx ebx, word [esi + 4]
movzx edi, word [esi + 6]
test bl, 1
jne 0x1005f9c1
mov ecx, dword [ebp + 0xc]
lea edx, [ebx + edi*2]
xor eax, eax
inc eax
shl eax, cl
sub eax, 2
cmp edx, eax
ja 0x1005f9c1
test edi, edi
je 0x1005f9c1
mov edx, dword [ebp + 0x10]
lea eax, [edi - 1]
cmp eax, edx
jne 0x1005f9c1
cmp ebx, 0x30
jb 0x1005f804
mov eax, dword [esi + 0x2c]
cmp eax, dword [ebp + 0x14]
je 0x1005f804
test eax, eax
jne 0x1005f9c1
movzx eax, word [ebx + esi]
mov dword [ebp + 0x14], eax
xor eax, eax
inc eax
mov dword [ebp + 8], eax
cmp edi, eax
jbe 0x1005f84e
lea ecx, [esi + 2]
add ecx, ebx
mov dword [ebp + 0x10], ecx
mov ecx, dword [ebp + 0xc]
mov ebx, eax
mov eax, dword [ebp + 0x14]
shl ebx, cl
cmp word [ebx + esi - 2], ax
jne 0x1005f9c1
mov ecx, dword [ebp + 0x10]
mov ax, word [ecx]
add ecx, 2
mov word [ebx + esi - 2], ax
mov eax, dword [ebp + 8]
inc eax
mov dword [ebp + 0x10], ecx
mov dword [ebp + 8], eax
cmp eax, edi
jb 0x1005f81d
mov ecx, dword [ebp - 0x10]
mov ax, word [esi + 0x10]
mov word [ecx + 4], ax
mov ax, word [esi + 0x16]
movzx edi, word [esi + 0x14]
mov word [ecx + 6], ax
mov eax, dword [esi + 0x1c]
mov ebx, dword [esi + 0x18]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0x20]
mov dword [ecx + 8], eax
mov eax, dword [esi + 0x24]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp + 0xc]
shl edx, cl
cmp edi, edx
jae 0x1005f9c1
mov eax, ebx
or eax, edi
test al, 7
jne 0x1005f9c1
cmp ebx, edx
ja 0x1005f9c1
cmp dword [ebp + 8], edx
jne 0x1005f9c1
cmp edi, ebx
jae 0x1005f9c1
xor eax, eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x70]
mov eax, ebx
sub eax, edi
push eax
mov dword [ebp + 0xc], eax
lea eax, [edi + esi]
push eax
call fcn.1005f494
test eax, eax
je 0x1005f9b9
cmp dword [ebp + 0xc], eax
jb 0x1005f9b9
add edi, eax
mov eax, dword [ebp - 0x70]
cmp eax, 0xffffffff
je 0x1005f9cb
sub eax, 0x10
je 0x1005f984
sub eax, 0x20
je 0x1005f946
sub eax, 0x50
je 0x1005f93a
sub eax, 0x40
je 0x1005f920
cmp dword [ebp + 0x18], 0
je 0x1005f999
mov ecx, dword [ebp + 0x18]
lea eax, [ebp - 0x70]
push eax
call fcn.1005db7d
jmp 0x1005f999
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x60]
add ecx, 0x60
cmp eax, ecx
je 0x1005f999
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
call fcn.10023c4c
jmp 0x1005f999
lea eax, [ebp - 0x70]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x18]
jmp 0x1005f919
and dword [ebp - 0x20], 0
and dword [ebp - 0x1c], 0
push dword [ebp - 0x5c]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
push dword [ebp - 0x60]
call fcn.1005f5b4
test al, al
je 0x1005f9aa
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x10]
lea ecx, [eax + 0x24]
call fcn.1005dbbf
cmp dword [ebp - 0x20], 0
je 0x1005f999
push dword [ebp - 0x20]
call fcn.100c751e
pop ecx
jmp 0x1005f999
mov eax, dword [ebp - 0x10]
push dword [ebp - 0x5c]
push dword [ebp - 0x60]
lea ecx, [eax + 0x40]
call fcn.1005f9dc
test al, al
je 0x1005f9b9
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x70]
call fcn.1005d8d0
jmp 0x1005f8a4
cmp dword [ebp - 0x20], 0
je 0x1005f9b9
push dword [ebp - 0x20]
call fcn.100c751e
pop ecx
lea ecx, [ebp - 0x70]
call fcn.1005d8d0
xor al, al
call fcn.100c7523
ret 0x14
cmp edi, ebx
jne 0x1005f9b9
lea ecx, [ebp - 0x70]
call fcn.1005d8d0
jmp 0x1005f7ab