Function at 0x59e5f0
Capabilities:
Enumerate pe sections

Disassembly:
push esi
mov esi, dword [esp + 8]
test esi, esi
push edi
jne 0x59e601
pop edi
xor eax, eax
pop esi
ret 8
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.00622acb
mov edx, eax
add esp, 4
test edx, edx
mov dword [esp + 0xc], edx
jne 0x59e624
pop edi
pop esi
ret 8
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov eax, ecx
mov esi, edi
mov edi, edx
mov ebx, 0x22
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, edx
push 0x2c
push esi
call fcn.00609c00
push ebx
push esi
mov ebp, eax
call fcn.00609c00
add esp, 0x10
test eax, eax
je 0x59e675
cmp eax, ebp
jae 0x59e675
inc eax
push ebx
push eax
call fcn.00609c00
add esp, 8
jmp 0x59e677
xor eax, eax
test ebp, ebp
je 0x59e695
cmp eax, ebp
jbe 0x59e68d
inc eax
push 0x2c
push eax
call fcn.00609c00
add esp, 8
mov ebp, eax
test ebp, ebp
je 0x59e695
mov byte [ebp], 0
mov edx, esi
mov al, byte [edx]
cmp al, 0x20
je 0x59e6a1
cmp al, 9
jne 0x59e6a4
inc edx
jmp 0x59e697
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x59e6cd
lea esi, [ecx + edx - 1]
mov al, byte [esi]
cmp al, 0x20
je 0x59e6c4
cmp al, 9
je 0x59e6c4
cmp al, 0xd
jne 0x59e6cd
mov byte [esi], 0
dec ecx
dec esi
test ecx, ecx
jne 0x59e6b6
mov ecx, 0xb
mov edi, str.PROGRAM_ID
mov esi, edx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x59e6fa
mov ecx, dword [esp + 0x18]
add edx, 0xb
add ecx, 0xc
push ecx
push 0x6c91b4
push edx
call fcn.0060a0d0
jmp 0x59e8a0
mov ecx, 5
mov edi, str.BANDWIDTH
mov esi, edx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x59e741
mov al, byte [edx + 0xa]
add edx, 0xa
cmp al, bl
jne 0x59e718
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e72f
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x10
jmp 0x59e89a
mov ecx, 7
mov edi, str.CODECS
mov esi, edx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x59e787
mov al, byte [edx + 7]
add edx, 7
cmp al, bl
jne 0x59e75e
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e775
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x14
jmp 0x59e89a
mov ecx, 0xb
mov edi, str.RESOLUTION
mov esi, edx
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x59e7cd
mov al, byte [edx + 0xb]
add edx, 0xb
cmp al, bl
jne 0x59e7a4
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e7bb
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x18
jmp 0x59e89a
mov ecx, 3
mov edi, str.AUDIO
mov esi, edx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x59e814
mov al, byte [edx + 6]
add edx, 6
cmp al, bl
jne 0x59e7eb
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e802
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x1c
jmp 0x59e89a
mov ecx, 3
mov edi, str.VIDEO
mov esi, edx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x59e858
mov al, byte [edx + 6]
add edx, 6
cmp al, bl
jne 0x59e832
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e849
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x20
jmp 0x59e89a
mov ecx, 5
mov edi, str.SUBTITLES
mov esi, edx
xor eax, eax
repe cmpsw word [esi], word es:[edi]
jne 0x59e8a3
mov al, byte [edx + 0xa]
add edx, 0xa
cmp al, bl
jne 0x59e876
inc edx
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [ecx + edx - 1], bl
jne 0x59e88d
mov byte [ecx + edx - 1], 0
mov ecx, dword [esp + 0x18]
push edx
push 0x6c910c
add ecx, 0x24
push ecx
call fcn.0061fae1
add esp, 0xc
test ebp, ebp
je 0x59e8b8
mov cl, byte [ebp + 1]
lea eax, [ebp + 1]
test cl, cl
je 0x59e8b8
mov esi, eax
jmp 0x59e64c
mov edx, dword [esp + 0x14]
push edx
call fcn.00622af4
add esp, 4
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
ret 8