Function at 0x1000fef0
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
xor ebx, ebx
test byte [esi + 0x25], 1
push edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x10], ebx
je 0x1000ff3d
mov ebp, dword [esi + 0x10]
mov eax, dword [esi + 0x18]
sub ebp, 4
test eax, eax
jle 0x1000ff3d
mov ebx, eax
jmp 0x1000ff20
mov eax, dword [ebp]
cmp byte [eax + 5], 7
jne 0x1000ff33
push eax
push edi
call fcn.1000fef0
add esp, 8
sub ebp, 4
dec ebx
jne 0x1000ff20
mov ebx, dword [esp + 0x10]
mov dword [edi + 4], 5
movzx ecx, byte [esi + 0x24]
mov eax, dword [esi + 8]
lea ecx, [ecx + eax*2 - 2]
lea ecx, [ecx + ecx + 0x22]
lea edx, [ecx + 5]
cmp edx, dword [edi + 8]
jbe 0x1000ff60
call fcn.1000f800
mov al, byte [esi + 0x25]
mov ecx, dword [edi + 4]
mov edx, dword [edi]
and al, 7
mov byte [ecx + edx], al
mov ecx, dword [edi]
mov edx, 1
add dword [edi + 4], edx
mov eax, dword [edi + 4]
mov dword [esp + 0x1c], ebx
movzx ebx, byte [esi + 6]
mov byte [eax + ecx], bl
add dword [edi + 4], edx
movzx ebx, byte [esi + 7]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov byte [eax + ecx], bl
add dword [edi + 4], edx
movzx ebx, byte [esi + 0x24]
mov eax, dword [edi + 4]
mov ecx, dword [edi]
mov byte [eax + ecx], bl
add dword [edi + 4], edx
mov eax, dword [esi + 0x18]
mov ecx, dword [edi + 4]
mov ebp, dword [edi]
mov ebx, dword [esp + 0x1c]
cmp eax, 0x80
jb 0x1000ffd8
lea esp, [esp]
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x1000ffc0
mov edx, 1
mov byte [ecx + ebp], al
mov ebp, dword [edi]
inc ecx
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x1c]
cmp eax, 0x80
jb 0x10010008
jmp 0x1000fff0
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x1000fff0
mov edx, 1
mov byte [ecx + ebp], al
mov ebp, dword [edi]
inc ecx
mov dword [edi + 4], ecx
mov eax, dword [esi + 8]
sub eax, edx
cmp eax, 0x80
jb 0x10010033
lea ecx, [ecx]
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x10010020
mov byte [ecx + ebp], al
inc ecx
cmp dword [edi + 0x1c], 0
mov dword [edi + 4], ecx
jne 0x100100d0
mov eax, dword [esi + 0x34]
test eax, eax
je 0x10010054
mov edx, dword [esi + 0x20]
sub edx, eax
add edx, esi
mov ebx, edx
mov ebp, dword [edi]
mov eax, ebx
cmp ebx, 0x80
jb 0x10010073
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x10010060
mov byte [ecx + ebp], al
inc ecx
mov dword [edi + 4], ecx
test ebx, ebx
je 0x100100d0
mov eax, dword [esi + 0x2c]
mov ebp, dword [edi]
cmp eax, 0x80
jb 0x100100a3
lea ebx, [ebx]
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x10010090
mov byte [ecx + ebp], al
mov ebp, dword [edi]
inc ecx
mov dword [edi + 4], ecx
mov eax, dword [esi + 0x30]
cmp eax, 0x80
jb 0x100100c9
mov dl, al
or dl, 0x80
mov byte [ecx + ebp], dl
shr eax, 7
inc ecx
cmp eax, 0x80
jae 0x100100b6
mov byte [ecx + ebp], al
inc ecx
mov dword [edi + 4], ecx
push esi
mov eax, edi
call fcn.1000fe30
movzx eax, byte [esi + 0x24]
mov edx, dword [edi + 4]
mov ecx, dword [edi]
mov ebp, dword [esi + 0x14]
add eax, eax
add ecx, edx
add edx, eax
add esp, 4
mov dword [edi + 4], edx
test eax, eax
je 0x10010109
mov edx, ebp
sub edx, ecx
mov ebp, eax
lea ebx, [ebx]
mov al, byte [edx + ecx]
mov byte [ecx], al
inc ecx
dec ebp
jne 0x10010100
mov eax, esi
mov ecx, edi
call fcn.1000fb20
mov eax, esi
mov ecx, edi
call fcn.1000fce0
test ebx, ebx
je 0x10010159
mov ecx, dword [edi + 4]
add ecx, ebx
cmp ecx, dword [edi + 8]
jbe 0x10010130
mov ecx, ebx
call fcn.1000f800
mov ecx, dword [edi + 4]
mov eax, dword [edi]
mov esi, dword [esi + 0x34]
add eax, ecx
add ecx, ebx
mov dword [edi + 4], ecx
test ebx, ebx
je 0x10010159
mov ecx, esi
sub ecx, eax
mov esi, ebx
lea esp, [esp]
mov dl, byte [ecx + eax]
mov byte [eax], dl
inc eax
dec esi
jne 0x10010150
cmp dword [edi + 0x20], 0
jne 0x100101df
mov eax, dword [edi + 4]
sub eax, 5
bsr ecx, eax
mov ebx, dword [edi]
mov dword [esp + 0x1c], ecx
lea ecx, [ecx + ecx*8 + 0x48]
shr ecx, 6
mov esi, 5
sub esi, ecx
mov dword [edi + 4], esi
mov edx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ebx
cmp eax, 0x80
jb 0x100101b6
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov bl, dl
or bl, 0x80
mov byte [esi + ebp], bl
mov esi, ebp
inc esi
shr edx, 7
mov dword [esp + 0x1c], esi
cmp edx, 0x80
jae 0x10010194
mov ebx, dword [esp + 0x18]
mov byte [ebx + esi], dl
mov edx, dword [edi + 0x18]
push edx
mov edx, dword [edi]
add eax, ecx
sub edx, ecx
mov ecx, dword [edi + 0x14]
push eax
mov eax, dword [edi + 0xc]
add edx, 5
push edx
inc esi
push eax
mov dword [edi + 4], esi
call ecx
add esp, 0x10
mov dword [edi + 0x20], eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret