Function at 0x59c340
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
mov eax, dword [esp + 8]
push ebp
push esi
push edi
mov edi, ecx
push eax
mov dword [esp + 0x10], edi
call fcn.0059b400
mov ebp, eax
add esp, 4
mov edx, str.EXTM3U
mov ecx, ebp
mov esi, 2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c383
test al, al
je 0x59c37f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x59c383
add ecx, esi
add edx, esi
test al, al
jne 0x59c365
xor eax, eax
jmp 0x59c388
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x59c39b
mov ecx, dword [esp + 0x18]
pop edi
pop esi
mov byte [ecx + 0xc], 1
pop ebp
pop ecx
ret 8
mov edx, 0xf
mov eax, str.EXT_X_VERSION:
mov ecx, ebp
push ebx
mov ebx, dword [ecx]
cmp ebx, dword [eax]
jne 0x59c3f1
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x59c3a8
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x59c3f1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x59c3f1
mov al, byte [eax + 2]
cmp al, byte [ecx + 2]
jne 0x59c3f1
add edi, 0x5c
push edi
push 0x67942c
add ebp, 0xf
push ebp
call fcn.0062257e
add esp, 0xc
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov edx, str.EXT_X_ENDLIST
mov ecx, ebp
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c416
test al, al
je 0x59c412
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x59c416
add ecx, esi
add edx, esi
test al, al
jne 0x59c3f8
xor eax, eax
jmp 0x59c41b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x59c432
mov ecx, dword [esp + 0x1c]
pop ebx
mov dword [ecx + 8], esi
mov byte [edi + 0x4d], 1
pop edi
pop esi
pop ebp
pop ecx
ret 8
mov edx, 0x16
mov eax, str.EXT_X_TARGETDURATION:
mov ecx, ebp
mov edi, edi
mov ebx, dword [ecx]
cmp ebx, dword [eax]
jne 0x59c488
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x59c440
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x59c488
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x59c488
mov ecx, dword [esp + 0x1c]
add edi, 0x30
push edi
push 0x6b2d10
add ebp, 0x16
push ebp
mov dword [ecx + 8], esi
call fcn.0062257e
add esp, 0xc
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov edx, 0x16
mov eax, str.EXT_X_MEDIA_SEQUENCE:
mov ecx, ebp
mov ebx, dword [ecx]
cmp ebx, dword [eax]
jne 0x59c4dc
sub edx, 4
add eax, 4
add ecx, 4
cmp edx, 4
jae 0x59c494
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x59c4dc
mov al, byte [eax + 1]
cmp al, byte [ecx + 1]
jne 0x59c4dc
mov ecx, dword [esp + 0x1c]
add edi, 0x38
push edi
push str._I64d
add ebp, 0x16
push ebp
mov dword [ecx + 8], esi
call fcn.0062257e
add esp, 0xc
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov eax, 0x15
mov ecx, str.EXT_X_PLAYLIST_TYPE:
mov edx, ebp
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x59c513
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c4e8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c513
mov ecx, dword [esp + 0x1c]
pop ebx
pop edi
mov dword [ecx + 8], esi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov eax, 0xb
mov ecx, str.EXT_X_KEY:
mov edx, ebp
nop
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x59c5b0
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c520
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c5b0
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x59c5b0
mov cl, byte [ecx + 2]
cmp cl, byte [edx + 2]
jne 0x59c5b0
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], esi
mov byte [eax + 0x12], 1
mov dword [edi + 0x78], 1
mov eax, dword [0x75dbe4]
test eax, eax
je 0x59c985
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push str.DebugFlags
push eax
mov dword [esp + 0x34], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x59c985
test dword [esp + 0x18], 0x20000000
je 0x59c985
pop ebx
mov dword [edi + 0x78], eax
pop edi
pop esi
pop ebp
pop ecx
ret 8
mov esi, dword [esp + 0x1c]
cmp byte [esi + 0x11], 0
jne 0x59c5f5
mov eax, 0x19
mov ecx, str.EXT_X_PROGRAM_DATE_TIME:
mov edx, ebp
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x59c5f5
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c5c6
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c5f5
pop ebx
pop edi
mov byte [esi + 0x11], 1
mov dword [esi + 8], 2
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
cmp byte [esi + 0xf], 0
jne 0x59c642
mov eax, 0x11
mov ecx, str.EXT_X_BYTERANGE:
mov edx, ebp
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x59c642
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c607
mov cl, byte [ecx]
cmp cl, byte [edx]
jne 0x59c642
push esi
add ebp, 0x11
push ebp
mov ecx, edi
mov dword [esi + 8], 2
mov byte [esi + 0xf], 1
call fcn.0059b480
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov eax, 0x15
mov ecx, str.ANVATO_SEGMENT_INFO:
mov edx, ebp
mov edi, edi
mov ebx, dword [edx]
cmp ebx, dword [ecx]
jne 0x59c66e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c650
mov al, byte [ecx]
cmp al, byte [edx]
je 0x59c985
cmp byte [esi + 0xe], 0
jne 0x59c89e
mov eax, str.EXTINF:
mov edx, ebp
mov ecx, 8
sub edx, eax
mov ebx, dword [eax + edx]
cmp ebx, dword [eax]
jne 0x59c6b9
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x59c686
push esi
add ebp, 8
push ebp
mov ecx, edi
mov dword [esi + 8], 2
mov byte [esi + 0xe], 1
call fcn.0059c0d0
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
cmp byte [esi + 0xe], 0
jne 0x59c89e
mov eax, 0xb
mov ecx, str.EXT_X_MAP:
mov edx, ebp
nop
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x59c89e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x59c6d0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x59c89e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x59c89e
mov cl, byte [ecx + 2]
cmp cl, byte [edx + 2]
jne 0x59c89e
add ebp, 0xb
push ebp
mov dword [esi + 8], 2
call fcn.0059b400
push 4
mov ebp, eax
push str.URI
push ebp
call fcn.006255fd
add esp, 0x10
test eax, eax
jne 0x59c985
add ebp, 4
mov eax, ebp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x59c740
sub eax, edx
inc eax
push eax
call fcn.005f4e47
mov edi, eax
xor ebx, ebx
add esp, 4
cmp edi, ebx
je 0x59c985
mov edx, edi
mov dword [esp + 0x1c], edi
mov eax, ebp
sub edx, ebp
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x59c770
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov al, byte [ebp]
cmp al, 0x22
jne 0x59c797
push 0x22
jmp 0x59c7a1
cmp al, 0x27
jne 0x59c81c
push 0x27
inc edi
push edi
call fcn.00622170
add esp, 8
cmp eax, ebx
je 0x59c81c
mov byte [eax], 0
inc eax
push eax
call fcn.0059b400
mov cl, byte [eax]
add esp, 4
test cl, cl
je 0x59c81c
cmp cl, 0x2c
jne 0x59c81c
inc eax
push eax
call fcn.0059b400
mov ebp, eax
add esp, 4
cmp byte [ebp], 0
je 0x59c81c
push 0xa
push str.BYTERANGE
push ebp
call fcn.006255fd
add esp, 0xc
test eax, eax
jne 0x59c81c
add ebp, 0xa
cmp byte [ebp], 0x22
jne 0x59c809
inc ebp
push 0x22
push ebp
call fcn.00622170
add esp, 8
cmp eax, ebx
je 0x59c809
mov byte [eax], 0
push esi
push ebp
mov ebp, dword [esp + 0x18]
mov ecx, ebp
mov byte [esi + 0xf], 1
call fcn.0059b480
jmp 0x59c820
mov ebp, dword [esp + 0x10]
mov edx, dword [esi + 0x24]
fldz
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x1c]
push edx
mov edx, dword [esi + 0x18]
push eax
push ecx
push edx
push 0x67997c
sub esp, 8
fstp qword [esp]
push edi
call fcn.0059b400
add esp, 4
push eax
lea ecx, [ebp + 0x28]
call fcn.0059bc80
push 0x2e
push edi
mov byte [esi + 0xf], 0
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
call fcn.00623330
add esp, 8
cmp eax, ebx
je 0x59c887
push 0x6b2d68
push eax
call fcn.006226ae
add esp, 8
test eax, eax
je 0x59c887
mov dword [ebp + 0x7c], 1
mov eax, dword [esp + 0x1c]
push eax
call fcn.005f4e52
add esp, 4
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
mov bl, byte [esi + 0x10]
test bl, bl
jne 0x59c8da
mov eax, str.EXT_X_DISCONTINUITY
mov edx, ebp
mov ecx, 0x14
sub edx, eax
mov edi, dword [eax + edx]
cmp edi, dword [eax]
jne 0x59c8da
sub ecx, 4
add eax, 4
cmp ecx, 4
jae 0x59c8b3
pop ebx
pop edi
mov dword [esi + 8], 2
mov byte [esi + 0x10], 1
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
cmp byte [ebp], 0x23
je 0x59c985
cmp byte [esi + 0xe], 0
je 0x59c94f
mov ecx, dword [esi + 0x24]
fld qword [esi + 0x30]
mov edx, dword [esi + 0x20]
mov eax, dword [esi + 0x38]
push ecx
mov ecx, dword [esi + 0x1c]
push edx
mov edx, dword [esi + 0x18]
push ecx
push edx
lea edi, [esi + 0x38]
push eax
sub esp, 8
fstp qword [esp]
push ebp
call fcn.0059b400
mov ecx, dword [esp + 0x30]
add esp, 4
push eax
add ecx, 0x28
call fcn.0059bc80
fldz
push 0x67997c
fstp qword [esi + 0x30]
mov ecx, edi
mov byte [esi + 0xe], 0
call fcn.0054f750
xor eax, eax
pop ebx
pop edi
mov byte [esi + 0xf], 0
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], eax
pop esi
pop ebp
pop ecx
ret 8
cmp byte [esi + 0xf], 0
jne 0x59c935
test bl, bl
je 0x59c967
pop ebx
pop edi
mov byte [esi + 0x10], 0
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
cmp byte [esi + 0x11], 0
je 0x59c97b
pop ebx
pop edi
mov byte [esi + 0x11], 0
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8
cmp byte [esi + 0x12], 0
je 0x59c985
mov byte [esi + 0x12], 0
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
pop ecx
ret 8