Function at 0x14006535c
Capabilities:
Parse url

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x1400b02e8]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rdi, rdx
mov r14, rcx
mov rax, rcx
cmp qword [rcx + 0x18], 8
jb 0x14006539f
mov rax, qword [rcx]
xor esi, esi
mov qword [rcx + 0x10], rsi
mov word [rax], si
add rcx, 0x60
cmp qword [r14 + 0x78], 8
jb 0x1400653b7
mov rcx, qword [r14 + 0x60]
mov qword [r14 + 0x70], rsi
mov word [rcx], si
mov dword [r14 + 0x80], esi
mov byte [r14 + 0x84], sil
lea rcx, [r14 + 0x20]
cmp qword [r14 + 0x38], 8
jb 0x1400653db
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x30], rsi
mov word [rcx], si
lea rcx, [r14 + 0x40]
cmp qword [r14 + 0x58], 8
jb 0x1400653f1
mov rcx, qword [r14 + 0x40]
mov qword [r14 + 0x50], rsi
mov word [rcx], si
lea r12, [r14 + 0x88]
mov rax, r12
cmp qword [r12 + 0x18], 8
jb 0x14006540e
mov rax, qword [r12]
mov qword [r12 + 0x10], rsi
mov word [rax], si
mov word [r14 + 0xa8], si
lea rax, [r14 + 0xb0]
mov rcx, rax
cmp qword [rax + 0x18], 8
jb 0x140065432
mov rcx, qword [rax]
mov qword [rax + 0x10], rsi
mov word [rcx], si
lea r15, [r14 + 0xd0]
mov rax, r15
cmp qword [r15 + 0x18], 8
jb 0x14006544d
mov rax, qword [r15]
mov qword [r15 + 0x10], rsi
mov word [rax], si
lea r13, [r14 + 0xf0]
mov rax, r13
cmp qword [r13 + 0x18], 8
jb 0x140065469
mov rax, qword [r13]
mov qword [r13 + 0x10], rsi
mov word [rax], si
mov dword [r14 + 0x130], esi
test rdi, rdi
je 0x140065d41
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], si
jne 0x140065484
test ebx, ebx
je 0x140065d41
lea rdx, [0x1400971f0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsstr]
nop dword [rax + rax]
test rax, rax
jne 0x1400654c0
mov dword [r14 + 0x130], 0x2ee8
jmp 0x140065d4c
lea eax, [rbx + 0x20]
mov dword [rsp + 0x30], eax
mov edx, eax
lea rcx, [rsp + 0x78]
call fcn.140065ed0
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rsi, qword [rsp + 0x78]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
nop dword [rax + rax]
test eax, eax
jne 0x14006557f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140065561
mov ecx, dword [rsp + 0x30]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140066c90
mov rbx, rax
mov rcx, rsi
mov rsi, rax
mov qword [rsp + 0x78], rax
test rcx, rcx
je 0x140065543
call fcn.140066d1c
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
nop dword [rax + rax]
test eax, eax
jne 0x14006557f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065d14
mov edi, dword [rsp + 0x30]
inc edi
mov ebx, edi
mov edx, edi
lea rcx, [rbp + 0x68]
call fcn.14001c8dc
nop
add rbx, rbx
mov r8, rbx
xor edx, edx
mov rcx, qword [rbp + 0x68]
mov qword [rsp + 0x48], rcx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
lea rcx, [rbp + 0x50]
call fcn.14001c8dc
nop
mov r8, rbx
xor edx, edx
mov rax, qword [rbp + 0x50]
mov qword [rsp + 0x70], rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
lea rcx, [rbp + 0x38]
call fcn.14001c8dc
nop
mov r8, rbx
xor edx, edx
mov rax, qword [rbp + 0x38]
mov qword [rsp + 0x68], rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
lea rcx, [rbp + 0x20]
call fcn.14001c8dc
nop
mov r8, rbx
xor edx, edx
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x60], rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
lea rcx, [rbp + 8]
call fcn.14001c8dc
nop
mov r8, rbx
xor edx, edx
mov rax, qword [rbp + 8]
mov qword [rsp + 0x58], rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov edx, edi
lea rcx, [rbp - 0x10]
call fcn.14001c8dc
nop
mov r8, rbx
xor edx, edx
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x50], rax
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [rbp - 0x80], 0x68
mov rbx, qword [rsp + 0x48]
mov qword [rbp - 0x78], rbx
mov dword [rbp - 0x70], edi
mov rax, qword [rsp + 0x70]
mov qword [rbp - 0x68], rax
mov dword [rbp - 0x60], edi
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x58], rax
mov dword [rbp - 0x50], edi
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x40], edi
mov rax, qword [rsp + 0x58]
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x30], edi
mov rax, qword [rsp + 0x50]
mov qword [rbp - 0x28], rax
mov dword [rbp - 0x20], edi
lea r9, [rbp - 0x80]
mov r8d, 0x90000000
mov edx, edi
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCrackUrlW]
nop dword [rax + rax]
test eax, eax
jne 0x1400656df
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065c59
mov edx, edi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcslwr_s]
nop dword [rax + rax]
mov rdx, rbx
lea rcx, [r14 + 0x60]
call fcn.140003b34
mov eax, dword [rbp - 0x6c]
mov dword [r14 + 0x80], eax
mov rdx, qword [rsp + 0x70]
mov rcx, r12
call fcn.140003b34
movzx eax, word [rbp - 0x5c]
mov word [r14 + 0xa8], ax
mov rdx, qword [rsp + 0x68]
lea rcx, [r14 + 0x20]
call fcn.140003b34
mov rdx, qword [rsp + 0x60]
lea rcx, [r14 + 0x40]
call fcn.140003b34
mov rdx, qword [rsp + 0x58]
lea rbx, [r14 + 0xb0]
mov rcx, rbx
call fcn.140003b34
lea rcx, [r14 + 0x110]
mov rdx, qword [rsp + 0x50]
call fcn.140003b34
mov edi, 1
mov eax, dword [rbp - 0x6c]
cmp eax, 3
jne 0x140065782
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x140065804
lea eax, [rdi + 0x4f]
jmp 0x1400657fc
cmp eax, 4
jne 0x1400657a1
mov byte [r14 + 0x84], dil
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x140065804
mov eax, 0x1bb
jmp 0x1400657fc
or rcx, 0xffffffffffffffff
cmp eax, ecx
jne 0x140065804
lea rdx, str.rtsp
lea rcx, [r14 + 0x60]
call fcn.14003f670
xor ecx, ecx
test al, al
je 0x1400657d0
cmp word [r14 + 0xa8], cx
jne 0x140065804
mov eax, 0x22a
jmp 0x1400657fc
lea rdx, str.rtsps
lea rcx, [r14 + 0x60]
call fcn.14003f670
xor ecx, ecx
test al, al
je 0x140065804
mov byte [r14 + 0x84], dil
cmp word [r14 + 0xa8], cx
jne 0x140065804
mov eax, reloc.OLEAUT32.dll_GetRecordInfoFromTypeInfo
mov word [r14 + 0xa8], ax
lea rdx, [0x14008dbd8]
mov rcx, rbx
call fcn.140065d80
mov qword [rsp + 0x38], rax
or rdi, 0xffffffffffffffff
mov rcx, rbx
cmp rax, rdi
jne 0x1400658ef
lea rdx, [0x140089d2c]
call fcn.140065d80
mov qword [rsp + 0x40], rax
cmp rax, rdi
jne 0x14006584e
mov rdx, rbx
mov rcx, r15
call fcn.14003642c
jmp 0x140065a08
lea r8, [rax + 1]
mov r9, rdi
lea rdx, [rbp + 0x80]
mov rcx, rbx
call fcn.14003f1bc
mov qword [rsp + 0x38], rax
mov edi, 7
cmp r15, rax
je 0x1400658c1
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x140065892
lea rdx, [rdx*2 + 2]
mov rcx, qword [r15]
call fcn.140003d24
mov rax, qword [rsp + 0x38]
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov qword [r15 + 0x18], rdi
mov word [r15], cx
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
xor r15d, r15d
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rdi
mov word [rax], r15w
jmp 0x1400658c4
xor r15d, r15d
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x1400658e5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
call fcn.140003d24
mov r9, qword [rsp + 0x40]
jmp 0x140065988
lea r8, [rax + 1]
mov r9, rdi
lea rdx, [rbp + 0x80]
call fcn.14003f1bc
mov qword [rsp + 0x40], rax
mov edi, 7
cmp r15, rax
je 0x14006595f
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x140065930
lea rdx, [rdx*2 + 2]
mov rcx, qword [r15]
call fcn.140003d24
mov rax, qword [rsp + 0x40]
xor ecx, ecx
mov qword [r15 + 0x10], rcx
mov qword [r15 + 0x18], rdi
mov word [r15], cx
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
xor r15d, r15d
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rdi
mov word [rax], r15w
jmp 0x140065962
xor r15d, r15d
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140065983
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
call fcn.140003d24
mov r9, qword [rsp + 0x38]
xor r8d, r8d
lea rdx, [rbp + 0x80]
mov rcx, rbx
call fcn.14003f1bc
cmp r13, rax
mov rbx, rax
je 0x1400659e7
mov rdx, qword [r13 + 0x18]
cmp rdx, 8
jb 0x1400659bd
lea rdx, [rdx*2 + 2]
mov rcx, qword [r13]
call fcn.140003d24
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], rdi
mov word [r13], r15w
movups xmm0, xmmword [rbx]
movups xmmword [r13], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [r13 + 0x10], xmm1
mov qword [rbx + 0x10], r15
mov word [rbx], r15w
mov qword [rbx + 0x18], rdi
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140065a08
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
call fcn.140003d24
mov ebx, 0x276
mov edx, ebx
lea rcx, [rsp + 0x38]
call fcn.140065ed0
nop
mov r8d, dword [r14 + 0x98]
mov r13d, 1
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065a39
mov rdx, qword [r12]
mov dword [rsp + 0x20], ebx
mov rdi, qword [rsp + 0x38]
mov r9, rdi
mov r15d, 2
mov ecx, r15d
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
nop dword [rax + rax]
xor ebx, ebx
test eax, eax
jne 0x140065b3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
cmp eax, 0x7a
jne 0x140065b31
mov r8d, dword [r14 + 0x98]
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065a99
mov rdx, qword [r12]
mov dword [rsp + 0x20], ebx
mov r9, rdi
mov ecx, r15d
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
nop dword [rax + rax]
movsxd rbx, eax
mov rax, r15
mul rbx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140066c90
mov r15, rax
mov rcx, rdi
mov rdi, rax
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x140065ae3
call fcn.140066d1c
mov r8d, dword [r14 + 0x98]
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065afc
mov rdx, qword [r12]
mov dword [rsp + 0x20], ebx
mov r9, r15
mov r15d, 2
mov ecx, r15d
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
nop dword [rax + rax]
xor ebx, ebx
test eax, eax
jne 0x140065b3c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065c47
mov rdx, rdi
mov rcx, r12
call fcn.140003b34
mov rax, r12
cmp qword [r12 + 0x18], 8
jb 0x140065b56
mov rax, qword [r12]
mov qword [rbp - 0x68], rax
jb 0x140065b60
mov r12, qword [r12]
or r8, 0xffffffffffffffff
mov rax, r8
inc rax
cmp word [r12 + rax*2], bx
jne 0x140065b67
mov dword [rbp - 0x60], eax
mov ecx, dword [rsp + 0x30]
mov rax, r15
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140066c90
mov r15, rax
mov rbx, rax
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x30]
mov r8, rax
xor edx, edx
lea rcx, [rbp - 0x80]
call qword [sym.imp.WININET.dll_InternetCreateUrlW]
nop dword [rax + rax]
xor r12d, r12d
test eax, eax
jne 0x140065c2d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140065d26
mov ecx, dword [rsp + 0x30]
lea eax, [r12 + 2]
mul rcx
lea rcx, [r12 - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.140066c90
mov rbx, rax
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140066d1c
lea r9, [rsp + 0x30]
mov r8, rbx
xor edx, edx
lea rcx, [rbp - 0x80]
call qword [sym.imp.WININET.dll_InternetCreateUrlW]
nop dword [rax + rax]
test eax, eax
jne 0x140065c2a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r15, rbx
jmp 0x140065d32
mov r15, rbx
mov rdx, rbx
mov rcx, r14
call fcn.140003b34
nop
test r15, r15
je 0x140065c47
mov rcx, rbx
call fcn.140066d1c
nop
test rdi, rdi
je 0x140065c54
mov rcx, rdi
call fcn.140066d1c
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140065c79
mov rdx, qword [rbp]
sub rdx, rax
sar rdx, 1
add rdx, rdx
mov rcx, rax
call fcn.140003d24
nop
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140065c99
mov rdx, qword [rbp + 0x18]
sub rdx, rax
sar rdx, 1
add rdx, rdx
mov rcx, rax
call fcn.140003d24
nop
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x140065cb9
mov rdx, qword [rbp + 0x30]
sub rdx, rax
sar rdx, 1
add rdx, rdx
mov rcx, rax
call fcn.140003d24
nop
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140065cd9
mov rdx, qword [rbp + 0x48]
sub rdx, rax
sar rdx, 1
add rdx, rdx
mov rcx, rax
call fcn.140003d24
nop
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140065cf9
mov rdx, qword [rbp + 0x60]
sub rdx, rax
sar rdx, 1
add rdx, rdx
mov rcx, rax
call fcn.140003d24
nop
test rbx, rbx
je 0x140065d14
mov rdx, qword [rbp + 0x78]
sub rdx, rbx
sar rdx, 1
add rdx, rdx
mov rcx, rbx
call fcn.140003d24
nop
test rsi, rsi
je 0x140065d21
mov rcx, rsi
call fcn.140066d1c
mov al, r13b
jmp 0x140065d4e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
mov r13b, r12b
jmp 0x140065c39
mov dword [r14 + 0x130], 0x57
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140066420
mov rbx, qword [rsp + 0x200]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret