Function at 0x1400643a4
Capabilities:
Parse url

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x80]
sub rsp, 0x180
mov qword [rbp + 0x50], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov rax, qword [0x1400c1270]
xor rax, rsp
mov qword [rbp + 0x78], rax
mov rdi, rdx
mov r14, rcx
or r15, 0xffffffffffffffff
mov rbx, r15
xor r13d, r13d
inc rbx
cmp word [rdx + rbx*2], r13w
jne 0x1400643e8
test ebx, ebx
jne 0x140064407
mov dword [rcx + 0x130], 0x57
xor al, al
jmp 0x140064c32
lea rdx, [0x140099c48]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsstr]
test rax, rax
jne 0x140064429
mov dword [r14 + 0x130], 0x2ee8
jmp 0x140064400
lea eax, [rbx + 0x20]
mov dword [rsp + 0x30], eax
mov edx, eax
lea rcx, [rbp - 0x70]
call fcn.140064cf0
nop
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rsi, qword [rbp - 0x70]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
jne 0x1400644bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400644aa
mov ecx, dword [rsp + 0x30]
mov eax, 2
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400658c8
mov rbx, rax
mov rcx, rsi
mov rsi, rax
mov qword [rbp - 0x70], rax
test rcx, rcx
je 0x140064492
call fcn.1400658c0
xor r9d, r9d
lea r8, [rsp + 0x30]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.WININET.dll_InternetCanonicalizeUrlW]
test eax, eax
jne 0x1400644bf
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x130], eax
mov r12b, r13b
jmp 0x140064c22
mov eax, dword [rsp + 0x30]
inc eax
mov dword [rsp + 0x38], eax
mov edi, eax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
mov edx, eax
lea rcx, [rbp - 0x38]
call fcn.140018560
mov r13, qword [rbp - 0x38]
xor ebx, ebx
test al, al
je 0x140064507
lea rbx, [rdi + rdi]
mov r8, rbx
xor edx, edx
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
lea rax, [rbx + r13]
mov qword [rbp - 0x30], rax
xor ebx, ebx
lea r12, [rdi + rdi]
mov r8, r12
xor edx, edx
mov rcx, r13
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov rdx, rdi
lea rcx, [rbp - 0x50]
call fcn.140018560
mov rbx, qword [rbp - 0x50]
test al, al
je 0x14006454d
mov r8, r12
xor edx, edx
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
lea rax, [rbx + rdi*2]
mov qword [rbp - 0x48], rax
mov r8, r12
xor edx, edx
mov rcx, rbx
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
xor eax, eax
mov qword [rbp - 0x58], rax
mov rdx, rdi
lea rcx, [rbp - 0x68]
call fcn.140018560
xor edx, edx
test al, al
je 0x140064592
mov r8, r12
mov rcx, qword [rbp - 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rcx, qword [rbp - 0x68]
lea rax, [rcx + rdi*2]
mov qword [rbp - 0x60], rax
mov r8, r12
xor edx, edx
mov rcx, qword [rbp - 0x68]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
xor eax, eax
mov qword [rbp - 0x78], rax
mov rdx, rdi
lea rcx, [rsp + 0x78]
call fcn.140018560
xor edx, edx
test al, al
je 0x1400645e3
lea rbx, [rdi + rdi]
mov r8, rbx
mov rcx, qword [rsp + 0x78]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rax, qword [rsp + 0x78]
add rax, rbx
mov qword [rbp - 0x80], rax
mov rbx, qword [rbp - 0x50]
mov r8, r12
xor edx, edx
mov rcx, qword [rsp + 0x78]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x60], xmm0
xor eax, eax
mov qword [rsp + 0x70], rax
mov rdx, rdi
lea rcx, [rsp + 0x60]
call fcn.140018560
xor edx, edx
test al, al
je 0x140064630
mov r8, r12
mov rcx, qword [rsp + 0x60]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rdi*2]
mov qword [rsp + 0x68], rax
mov r8, r12
xor edx, edx
mov rcx, qword [rsp + 0x60]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
xor eax, eax
mov qword [rsp + 0x58], rax
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.140018560
xor edx, edx
test al, al
je 0x14006467d
mov r8, r12
mov rcx, qword [rsp + 0x48]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rdi*2]
mov qword [rsp + 0x50], rax
mov r8, r12
xor edx, edx
mov rcx, qword [rsp + 0x48]
call sub.api_ms_win_crt_private_l1_1_0.dll__o_memset
mov dword [rbp - 0x20], 0x68
mov qword [rbp - 0x18], r13
mov eax, dword [rsp + 0x38]
mov dword [rbp - 0x10], eax
mov qword [rbp - 8], rbx
mov dword [rbp], eax
mov r12, qword [rbp - 0x68]
mov qword [rbp + 8], r12
mov dword [rbp + 0x10], eax
mov rcx, qword [rsp + 0x78]
mov qword [rbp + 0x18], rcx
mov dword [rbp + 0x20], eax
mov rcx, qword [rsp + 0x60]
mov qword [rbp + 0x28], rcx
mov dword [rbp + 0x30], eax
mov rcx, qword [rsp + 0x48]
mov qword [rbp + 0x38], rcx
mov dword [rbp + 0x40], eax
lea r9, [rbp - 0x20]
mov r8d, 0x90000000
mov edx, eax
mov rcx, rsi
call qword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
jne 0x140064705
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x130], eax
xor r13d, r13d
mov r12b, r13b
jmp 0x140064be3
mov rdx, rdi
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll__o__wcslwr_s]
mov r8, r15
xor eax, eax
inc r8
cmp word [r13 + r8*2], ax
jne 0x140064716
lea rdi, [r14 + 0x60]
mov rdx, r13
mov rcx, rdi
call fcn.1400030f0
mov eax, dword [rbp - 0xc]
mov dword [r14 + 0x80], eax
mov r8, r15
xor r13d, r13d
inc r8
cmp word [rbx + r8*2], r13w
jne 0x140064740
lea rbx, [r14 + 0x88]
mov rdx, qword [rbp - 0x50]
mov rcx, rbx
call fcn.1400030f0
movzx eax, word [rbp + 4]
mov word [r14 + 0xa8], ax
mov r8, r15
inc r8
cmp word [r12 + r8*2], r13w
jne 0x14006476c
lea rcx, [r14 + 0x20]
mov rdx, r12
call fcn.1400030f0
mov r8, r15
mov rax, qword [rsp + 0x78]
inc r8
cmp word [rax + r8*2], r13w
jne 0x14006478a
lea rcx, [r14 + 0x40]
mov rdx, rax
call fcn.1400030f0
mov r8, r15
mov rax, qword [rsp + 0x60]
inc r8
cmp word [rax + r8*2], r13w
jne 0x1400647a8
lea r13, [r14 + 0xb0]
mov rdx, rax
mov rcx, r13
call fcn.1400030f0
mov r8, r15
mov rax, qword [rsp + 0x48]
xor ecx, ecx
inc r8
cmp word [rax + r8*2], cx
jne 0x1400647ce
lea rcx, [r14 + 0x110]
mov rdx, rax
call fcn.1400030f0
mov r12d, 1
mov eax, dword [rbp - 0xc]
cmp eax, 3
jne 0x14006480f
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x140064900
lea eax, [r12 + 0x4f]
jmp 0x1400648f8
mov r8d, 4
cmp eax, r8d
jne 0x14006483b
mov byte [r14 + 0x84], r12b
xor eax, eax
cmp word [r14 + 0xa8], ax
jne 0x140064900
mov eax, 0x1bb
jmp 0x1400648f8
cmp eax, r15d
jne 0x140064900
cmp qword [rdi + 0x18], 8
jb 0x140064850
mov rcx, qword [rdi]
jmp 0x140064853
mov rcx, rdi
cmp qword [rdi + 0x10], r8
jne 0x14006489a
lea rdx, str.rtsp
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14006487a
add rcx, 2
add rdx, 2
sub r8, r12
jne 0x140064860
mov eax, r8d
jmp 0x140064885
sbb eax, eax
and eax, 0xfffffffe
add eax, r12d
xor r8d, r8d
test eax, eax
jne 0x14006489d
cmp word [r14 + 0xa8], r8w
jne 0x140064900
mov eax, 0x22a
jmp 0x1400648f8
xor r8d, r8d
lea rax, [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x1400648ab
mov rdi, qword [rdi]
mov edx, 5
cmp qword [rax], rdx
jne 0x140064900
lea rcx, str.rtsps
movzx eax, word [rcx]
cmp word [rdi], ax
jne 0x1400648d6
add rdi, 2
add rcx, 2
sub rdx, r12
jne 0x1400648bc
mov eax, r8d
jmp 0x1400648de
sbb eax, eax
and eax, 0xfffffffe
add eax, r12d
test eax, eax
jne 0x140064900
mov byte [r14 + 0x84], r12b
cmp word [r14 + 0xa8], r8w
jne 0x140064900
mov eax, reloc.OLEAUT32.dll_GetRecordInfoFromTypeInfo
mov word [r14 + 0xa8], ax
lea rdx, [0x140090730]
mov rcx, r13
call fcn.140064c5c
mov rdi, rax
mov rcx, r13
cmp rax, r15
jne 0x140064951
lea rdx, [0x14008c6ec]
call fcn.140064c5c
mov rdi, rax
cmp rax, r15
jne 0x14006494e
lea rcx, [r14 + 0xd0]
cmp rcx, r13
je 0x1400649c9
mov r9, r15
xor r8d, r8d
mov rdx, r13
call fcn.14000333c
jmp 0x1400649c9
mov rcx, r13
mov r9, r15
lea r8, [rax + 1]
lea rdx, [rbp + 0x58]
call fcn.14003d2ac
mov rdx, rax
lea rcx, [r14 + 0xd0]
call fcn.1400184b0
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x14006498c
mov r8d, 2
inc rdx
mov rcx, qword [rbp + 0x58]
call fcn.140002ec0
mov r9, rdi
xor r8d, r8d
lea rdx, [rbp + 0x58]
mov rcx, r13
call fcn.14003d2ac
mov rdx, rax
lea rcx, [r14 + 0xf0]
call fcn.1400184b0
mov rdx, qword [rbp + 0x70]
cmp rdx, 8
jb 0x1400649c9
mov r8d, 2
inc rdx
mov rcx, qword [rbp + 0x58]
call fcn.140002ec0
mov edi, 0x276
mov edx, edi
lea rcx, [rsp + 0x38]
call fcn.140064cf0
nop
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x1400649eb
mov rdx, qword [rbx]
jmp 0x1400649ee
mov rdx, rbx
lea r8d, [rax + 1]
mov dword [rsp + 0x20], edi
mov rdi, qword [rsp + 0x38]
mov r9, rdi
mov ecx, 2
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
xor r13d, r13d
test eax, eax
jne 0x140064ac9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x130], eax
cmp eax, 0x7a
jne 0x140064ac1
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140064a3a
mov rdx, qword [rbx]
jmp 0x140064a3d
mov rdx, rbx
lea r8d, [rax + 1]
mov dword [rsp + 0x20], r13d
mov r9, rdi
mov ecx, 2
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
movsxd r13, eax
mov eax, 2
mul r13
cmovo rax, r15
mov rcx, rax
call fcn.1400658c8
mov rcx, rdi
mov rdi, rax
mov qword [rsp + 0x38], rax
test rcx, rcx
je 0x140064a83
call fcn.1400658c0
mov rax, rdi
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x140064a93
mov rdx, qword [rbx]
jmp 0x140064a96
mov rdx, rbx
lea r8d, [rcx + 1]
mov dword [rsp + 0x20], r13d
mov r9, rax
mov ecx, 2
call qword [sym.imp.Normaliz.dll_IdnToNameprepUnicode]
xor r13d, r13d
test eax, eax
jne 0x140064ac9
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x130], eax
mov r12b, r13b
jmp 0x140064bd5
mov r8, r15
inc r8
cmp word [rdi + r8*2], r13w
jne 0x140064acc
mov rdx, rdi
mov rcx, rbx
call fcn.1400030f0
cmp qword [rbx + 0x18], 8
jb 0x140064aed
mov rax, qword [rbx]
jmp 0x140064af0
mov rax, rbx
mov qword [rbp - 8], rax
cmp qword [rbx + 0x18], 8
jb 0x140064afe
mov rbx, qword [rbx]
mov rax, r15
inc rax
cmp word [rbx + rax*2], r13w
jne 0x140064b01
mov dword [rbp], eax
mov ecx, dword [rsp + 0x30]
mov eax, 2
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400658c8
mov rbx, rax
mov qword [rsp + 0x40], rax
lea r9, [rsp + 0x30]
mov r8, rax
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.WININET.dll_InternetCreateUrlW]
test eax, eax
jne 0x140064bae
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140064b9c
mov ecx, dword [rsp + 0x30]
mov eax, 2
mul rcx
cmovo rax, r15
mov rcx, rax
call fcn.1400658c8
mov r13, rax
mov rcx, rbx
mov rbx, rax
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x140064b81
call fcn.1400658c0
lea r9, [rsp + 0x30]
mov r8, r13
xor edx, edx
lea rcx, [rbp - 0x20]
call qword [sym.imp.WININET.dll_InternetCreateUrlW]
xor r13d, r13d
test eax, eax
jne 0x140064bae
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [r14 + 0x130], eax
mov r12b, r13b
jmp 0x140064bc7
inc r15
cmp word [rbx + r15*2], r13w
jne 0x140064bae
mov r8, r15
mov rdx, rbx
mov rcx, r14
call fcn.1400030f0
nop
test rbx, rbx
je 0x140064bd5
mov rcx, rbx
call fcn.1400658c0
nop
test rdi, rdi
je 0x140064be3
mov rcx, rdi
call fcn.1400658c0
nop
lea rcx, [rsp + 0x48]
call fcn.140018474
nop
lea rcx, [rsp + 0x60]
call fcn.140018474
nop
lea rcx, [rsp + 0x78]
call fcn.140018474
nop
lea rcx, [rbp - 0x68]
call fcn.140018474
nop
lea rcx, [rbp - 0x50]
call fcn.140018474
nop
lea rcx, [rbp - 0x38]
call fcn.140018474
nop
test rsi, rsi
je 0x140064c2f
mov rcx, rsi
call fcn.1400658c0
mov al, r12b
mov rcx, qword [rbp + 0x78]
xor rcx, rsp
call fcn.1400651a0
mov rbx, qword [rsp + 0x1d0]
add rsp, 0x180
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret