Function at 0x14006534c
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 0x14006538f
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 0x1400653a7
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 0x1400653cb
mov rcx, qword [r14 + 0x20]
mov qword [r14 + 0x30], rsi
mov word [rcx], si
lea rcx, [r14 + 0x40]
cmp qword [r14 + 0x58], 8
jb 0x1400653e1
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 0x1400653fe
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 0x140065422
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 0x14006543d
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 0x140065459
mov rax, qword [r13]
mov qword [r13 + 0x10], rsi
mov word [rax], si
mov dword [r14 + 0x130], esi
test rdi, rdi
je 0x140065d31
or rbx, 0xffffffffffffffff
inc rbx
cmp word [rdx + rbx*2], si
jne 0x140065474
test ebx, ebx
je 0x140065d31
lea rdx, [0x1400971c8]
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 0x1400654b0
mov dword [r14 + 0x130], 0x2ee8
jmp 0x140065d3c
lea eax, [rbx + 0x20]
mov dword [rsp + 0x30], eax
mov edx, eax
lea rcx, [rsp + 0x78]
call fcn.140065ec0
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 0x14006556f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140065551
mov ecx, dword [rsp + 0x30]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140066c80
mov rbx, rax
mov rcx, rsi
mov rsi, rax
mov qword [rsp + 0x78], rax
test rcx, rcx
je 0x140065533
call fcn.140066d0c
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 0x14006556f
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065d04
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 0x1400656cf
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065c49
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 0x140065772
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x1400657f4
lea eax, [rdi + 0x4f]
jmp 0x1400657ec
cmp eax, 4
jne 0x140065791
mov byte [r14 + 0x84], dil
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x1400657f4
mov eax, 0x1bb
jmp 0x1400657ec
or rcx, 0xffffffffffffffff
cmp eax, ecx
jne 0x1400657f4
lea rdx, str.rtsp
lea rcx, [r14 + 0x60]
call fcn.14003f670
xor ecx, ecx
test al, al
je 0x1400657c0
cmp word [r14 + 0xa8], cx
jne 0x1400657f4
mov eax, 0x22a
jmp 0x1400657ec
lea rdx, str.rtsps
lea rcx, [r14 + 0x60]
call fcn.14003f670
xor ecx, ecx
test al, al
je 0x1400657f4
mov byte [r14 + 0x84], dil
cmp word [r14 + 0xa8], cx
jne 0x1400657f4
mov eax, reloc.OLEAUT32.dll_GetRecordInfoFromTypeInfo
mov word [r14 + 0xa8], ax
lea rdx, [0x14008dbac]
mov rcx, rbx
call fcn.140065d70
mov qword [rsp + 0x38], rax
or rdi, 0xffffffffffffffff
mov rcx, rbx
cmp rax, rdi
jne 0x1400658df
lea rdx, [0x140089d2c]
call fcn.140065d70
mov qword [rsp + 0x40], rax
cmp rax, rdi
jne 0x14006583e
mov rdx, rbx
mov rcx, r15
call fcn.14003642c
jmp 0x1400659f8
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 0x1400658b1
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x140065882
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 0x1400658b4
xor r15d, r15d
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x1400658d5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x80]
call fcn.140003d24
mov r9, qword [rsp + 0x40]
jmp 0x140065978
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 0x14006594f
mov rdx, qword [r15 + 0x18]
cmp rdx, 8
jb 0x140065920
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 0x140065952
xor r15d, r15d
mov rdx, qword [rbp + 0x98]
cmp rdx, 8
jb 0x140065973
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 0x1400659d7
mov rdx, qword [r13 + 0x18]
cmp rdx, 8
jb 0x1400659ad
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 0x1400659f8
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.140065ec0
nop
mov r8d, dword [r14 + 0x98]
mov r13d, 1
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065a29
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 0x140065b2c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
cmp eax, 0x7a
jne 0x140065b21
mov r8d, dword [r14 + 0x98]
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065a89
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.140066c80
mov r15, rax
mov rcx, rdi
mov rdi, rax
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x140065ad3
call fcn.140066d0c
mov r8d, dword [r14 + 0x98]
add r8d, r13d
mov rdx, r12
cmp qword [r12 + 0x18], 8
jb 0x140065aec
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 0x140065b2c
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
xor r12d, r12d
mov r13b, r12b
jmp 0x140065c37
mov rdx, rdi
mov rcx, r12
call fcn.140003b34
mov rax, r12
cmp qword [r12 + 0x18], 8
jb 0x140065b46
mov rax, qword [r12]
mov qword [rbp - 0x68], rax
jb 0x140065b50
mov r12, qword [r12]
or r8, 0xffffffffffffffff
mov rax, r8
inc rax
cmp word [r12 + rax*2], bx
jne 0x140065b57
mov dword [rbp - 0x60], eax
mov ecx, dword [rsp + 0x30]
mov rax, r15
mul rcx
cmovo rax, r8
mov rcx, rax
call fcn.140066c80
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 0x140065c1d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140065d16
mov ecx, dword [rsp + 0x30]
lea eax, [r12 + 2]
mul rcx
lea rcx, [r12 - 1]
cmovo rax, rcx
mov rcx, rax
call fcn.140066c80
mov rbx, rax
mov qword [rsp + 0x40], rax
mov rcx, r15
call fcn.140066d0c
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 0x140065c1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov r15, rbx
jmp 0x140065d22
mov r15, rbx
mov rdx, rbx
mov rcx, r14
call fcn.140003b34
nop
test r15, r15
je 0x140065c37
mov rcx, rbx
call fcn.140066d0c
nop
test rdi, rdi
je 0x140065c44
mov rcx, rdi
call fcn.140066d0c
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
test rax, rax
je 0x140065c69
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 0x140065c89
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 0x140065ca9
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 0x140065cc9
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 0x140065ce9
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 0x140065d04
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 0x140065d11
mov rcx, rsi
call fcn.140066d0c
mov al, r13b
jmp 0x140065d3e
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov dword [r14 + 0x130], eax
mov r13b, r12b
jmp 0x140065c29
mov dword [r14 + 0x130], 0x57
xor al, al
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140066410
mov rbx, qword [rsp + 0x200]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret