Function at 0x1401a419b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x108
mov rdi, r9
mov r12, r8
mov r15, rdx
mov r13, rcx
mov r14, qword [rsp + 0x178]
mov al, byte [rsp + 0x170]
mov byte [rsp + 0x77], al
lea rsi, [rsp + 0xb8]
mov qword [rsi], r8
mov qword [rsi + 8], r9
mov rcx, rsi
call sym.__url::parser::Input_as_core::iter::traits::iterator::Iterator_::next::hcf61fccc69b3d3fb
mov rbp, qword [rsi]
mov rbx, qword [rsi + 8]
cmp eax, 0x3e
jle 0x1401a424d
cmp eax, 0x3f
je 0x1401a43c7
cmp eax, 0x5c
je 0x1401a425f
cmp eax, 0x110000
jne 0x1401a444d
mov rbx, r13
cmp dword [r14 + 0x20], 0
je 0x1401a44ac
mov r13d, dword [r14 + 0x24]
mov rdi, qword [r14 + 8]
test r13, r13
je 0x1401a4719
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x80], rax
cmp rax, r13
jbe 0x1401a471e
cmp byte [rdi + r13], 0xbf
jg 0x1401a4724
jmp 0x1401a4a1c
cmp eax, 0x23
je 0x1401a43e1
cmp eax, 0x2f
jne 0x1401a444d
mov qword [rsp + 0x78], r15
mov rax, rdi
xor edi, edi
lea rsi, [rsp + 0xb8]
mov r15, r12
mov qword [rsp + 0x90], rax
mov r12, rax
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xb8], r15
mov qword [rsp + 0xc0], r12
mov rcx, rsi
call sym.__url::parser::Input_as_core::iter::traits::iterator::Iterator_::next::hcf61fccc69b3d3fb
cmp eax, 0x5c
je 0x1401a42a9
cmp eax, 0x2f
jne 0x1401a42bd
mov r15, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
inc edi
jmp 0x1401a4287
mov qword [rsp + 0x88], r13
cmp edi, 1
jbe 0x1401a4412
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1401a4610
mov qword [rsp + 0x80], rcx
mov rax, qword [rax + 0x38]
mov qword [rsp + 0x100], rax
xor r13d, r13d
lea rdi, [rsp + 0xa0]
mov qword [rdi], r13
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], r13
lea rsi, [rsp + 0xb8]
mov rax, qword [rsp + 0x98]
mov qword [rsi], rax
mov rax, qword [rsp + 0x90]
mov qword [rsi + 8], rax
mov byte [rsi + 0x10], 0
mov ebx, 1
mov rcx, rsi
call sym.__url::parser::Input_as_core::iter::traits::iterator::Iterator_::next::hcf61fccc69b3d3fb
mov ebp, eax
cmp eax, 0x2f
je 0x1401a435c
cmp ebp, 0x5c
je 0x1401a435c
cmp ebp, 0x110000
je 0x1401a439a
mov byte [rsp + 0xc8], 1
jmp 0x1401a4390
cmp r13, qword [rsp + 0xa0]
jne 0x1401a4381
mov rcx, rdi
mov rdx, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rbx, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xb0]
mov byte [rbx + r13], bpl
inc r13
mov qword [rsp + 0xb0], r13
cmp ebp, 0x2f
je 0x1401a4336
cmp ebp, 0x5c
je 0x1401a4336
mov rax, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
cmp r13, 2
jne 0x1401a45d9
movzx ecx, word [r8]
cmp ecx, 0x2f2f
sete sil
jmp 0x1401a45db
cmp dword [r14 + 0x18], 0
je 0x1401a4463
mov rbp, rdi
mov rbx, r13
lea rax, [r14 + 0x1c]
jmp 0x1401a4478
lea rdx, [rsp + 0xb8]
mov ecx, 9
mov rax, rdi
mov rdi, rdx
mov rsi, r15
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov r8, r14
mov r9, r12
call sym.url::parser::Parser::fragment_only::h43e4feb9ad325dd4
jmp 0x1401a49d9
mov r13d, dword [r14 + 0x3c]
mov rdi, qword [r14 + 8]
test r13, r13
mov rsi, qword [rsp + 0x78]
je 0x1401a4518
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x80], rax
cmp rax, r13
jbe 0x1401a4512
cmp byte [rdi + r13], 0xbf
jg 0x1401a4518
jmp 0x1401a49f3
cmp dword [r14 + 0x18], 0
je 0x1401a44b9
mov rbp, rdi
mov rbx, r12
mov r12, r13
lea rax, [r14 + 0x1c]
jmp 0x1401a44d1
cmp dword [r14 + 0x20], 0
je 0x1401a476e
mov rbp, rdi
mov rbx, r13
lea rax, [r14 + 0x24]
mov r13d, dword [rax]
mov rdi, qword [r14 + 8]
test r13, r13
je 0x1401a4502
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x80], rax
cmp rax, r13
jbe 0x1401a463d
cmp byte [rdi + r13], 0xbf
jle 0x1401a49ee
mov r8, r13
jmp 0x1401a477c
mov rdi, qword [r14 + 8]
mov r13, qword [r14 + 0x10]
jmp 0x1401a4724
mov rbx, r12
cmp dword [r14 + 0x20], 0
je 0x1401a4852
mov rbp, rdi
mov r12, r13
lea rax, [r14 + 0x24]
mov r13d, dword [rax]
mov rdi, qword [r14 + 8]
mov rax, qword [r14 + 0x10]
test r13, r13
mov qword [rsp + 0x80], rax
je 0x1401a450a
cmp rax, r13
jbe 0x1401a4650
cmp byte [rdi + r13], 0xbf
jg 0x1401a4868
jmp 0x1401a49ee
xor r8d, r8d
jmp 0x1401a477c
xor r13d, r13d
jmp 0x1401a4868
jne 0x1401a49f3
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rsi]
jne 0x1401a453b
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov byte [rax + rdx], 0x2f
inc rdx
mov qword [rsi + 0x10], rdx
lea r8, [rsp + 0xb8]
mov byte [r8], 1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbp
mov rcx, rsi
mov dl, byte [rsp + 0x77]
mov r9, r13
call sym.url::parser::Parser::parse_path::he0f86a2d8d5146c7
lea r8, [rsp + 0xb8]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r14 + 0x2c]
mov ecx, dword [r14 + 0x30]
mov r10d, dword [r14 + 0x34]
mov r11d, dword [r14 + 0x38]
lea rsi, [r14 + 0x40]
movzx edi, word [r14 + 0x28]
movzx ebx, word [r14 + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r13d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, qword [rsp + 0x88]
jmp 0x1401a49cc
xor esi, esi
mov rdi, qword [rsp + 0x80]
test rax, rax
je 0x1401a45f6
mov rcx, qword [0x14030f110]
xor edx, edx
call sub.kernel32.dll_HeapFree
test sil, sil
mov rsi, qword [rsp + 0x78]
jne 0x1401a4610
mov rcx, rdi
mov dl, 3
mov rax, qword [rsp + 0x100]
call qword [rax + 0x28]
mov ebx, dword [r14 + 0x2c]
mov r13d, ebx
mov rdi, qword [r14 + 8]
inc r13d
je 0x1401a4669
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x80], rax
cmp rax, r13
jbe 0x1401a4663
cmp byte [rdi + r13], 0xc0
jge 0x1401a4669
jmp 0x1401a49f3
jne 0x1401a49ee
mov r8, qword [rsp + 0x80]
jmp 0x1401a477c
jne 0x1401a49ee
mov r13, qword [rsp + 0x80]
jmp 0x1401a4868
jne 0x1401a49f3
mov rsi, qword [rsp + 0x78]
mov rcx, rsi
mov rdx, rdi
mov r8, r13
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
lea r8, [rsp + 0xb8]
mov rax, qword [rsp + 0x98]
mov qword [r8], rax
mov rax, qword [rsp + 0x90]
mov qword [r8 + 8], rax
lea rcx, str.__file:__
mov edx, 2
call sym.__str_as_url::parser::Pattern_::split_prefix::he1b374f375b9d56c
lea rdx, [rsp + 0xb8]
test al, al
je 0x1401a46e5
mov r8, qword [rdx]
mov r9, qword [rdx + 8]
mov ecx, 9
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
rep movsq qword [rdi], qword [rsi]
mov dword [rsp + 0x28], ebx
mov al, byte [rsp + 0x77]
mov byte [rsp + 0x20], al
mov rcx, qword [rsp + 0x88]
jmp 0x1401a470f
mov ecx, 9
mov rdi, rdx
mov rsi, qword [rsp + 0x78]
rep movsq qword [rdi], qword [rsi]
mov dword [rsp + 0x28], ebx
mov al, byte [rsp + 0x77]
mov byte [rsp + 0x20], al
mov rcx, qword [rsp + 0x88]
mov r8, r15
mov r9, r12
call sym.url::parser::Parser::after_double_slash::hacb6622fc8cfeb4e
jmp 0x1401a49d9
xor r13d, r13d
jmp 0x1401a4724
jne 0x1401a4a1c
mov rcx, r15
mov rdx, rdi
mov r8, r13
mov rsi, r15
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
movups xmm0, xmmword [r14 + 0x2c]
mov eax, dword [r14 + 0x28]
mov ecx, dword [r14 + 0x3c]
mov rdx, qword [r14 + 0x18]
movups xmm1, xmmword [rsi]
movups xmmword [rbx], xmm1
mov r8, qword [rsi + 0x10]
mov qword [rbx + 0x10], r8
mov qword [rbx + 0x18], rdx
mov dword [rbx + 0x20], 0
mov dword [rbx + 0x28], eax
movups xmmword [rbx + 0x2c], xmm0
mov dword [rbx + 0x3c], ecx
jmp 0x1401a483d
mov rbp, rdi
mov rbx, r13
mov rdi, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov rcx, r15
mov rdx, rdi
mov rsi, r15
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov edi, dword [r14 + 0x2c]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0xb8]
mov rdx, rsi
mov r8b, byte [rsp + 0x77]
mov r9d, edi
call sym.url::parser::Parser::parse_query_and_fragment::h6744f011428c7ae7
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1401a4802
mov al, byte [rsp + 0xbc]
mov byte [rbx + 8], al
movabs rax, 0x8000000000000000
mov qword [rbx], rax
cmp qword [rsi], 0
je 0x1401a49d9
mov r8, qword [rsi + 8]
mov rcx, qword [0x14030f110]
xor edx, edx
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0xbc]
mov edx, dword [rsp + 0xc4]
movups xmm0, xmmword [r14 + 0x30]
mov r8d, dword [r14 + 0x28]
movups xmm1, xmmword [rsi]
movups xmmword [rbx], xmm1
mov r9, qword [rsi + 0x10]
mov qword [rbx + 0x10], r9
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x1c], rcx
mov dword [rbx + 0x24], edx
mov dword [rbx + 0x28], r8d
mov dword [rbx + 0x2c], edi
movups xmmword [rbx + 0x30], xmm0
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rbx + 0x40], xmm0
mov al, byte [r14 + 0x50]
mov byte [rbx + 0x50], al
jmp 0x1401a49d9
mov rbp, rdi
mov r12, r13
mov rdi, qword [r14 + 8]
mov r13, qword [r14 + 0x10]
mov qword [rsp + 0x80], r13
mov rcx, r15
mov rdx, rdi
mov r8, r13
mov rsi, r15
call sym.alloc::vec::Vec_T_A_::extend_from_slice::h713d337bc108938a
mov r15d, dword [r14 + 0x3c]
mov rcx, rsi
mov dl, byte [rsp + 0x77]
mov r8, r15
call sym.url::parser::Parser::pop_path::ha69130032d9f155c
cmp qword [rsi + 0x10], r15
jne 0x1401a4908
mov r13d, dword [r14 + 0x2c]
test r13, r13
je 0x1401a48b8
cmp qword [rsp + 0x80], r13
jbe 0x1401a48b6
cmp byte [rdi + r13], 0xc0
jge 0x1401a48b8
mov qword [rsp + 0x78], rsi
jmp 0x1401a49f3
jne 0x1401a48ac
mov rcx, rdi
mov rdx, r13
call sym.__url::parser::SchemeType_as_core::convert::From_T__::from::h9ca2a7aa7ea03d28
cmp al, 2
jne 0x1401a48e2
lea rcx, [rsp + 0xb8]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
call sym.__url::parser::Input_as_core::iter::traits::iterator::Iterator_::next::hcf61fccc69b3d3fb
cmp eax, 0x110000
je 0x1401a4908
mov rax, r15
cmp qword [rsi], r15
jne 0x1401a48f9
mov rcx, rsi
mov rdx, r15
call sym.alloc::raw_vec::RawVec_T_A_::reserve_for_push::h62ea3ed8316eae23
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov byte [rcx + rax], 0x2f
inc rax
mov qword [rsi + 0x10], rax
lea rcx, [rsp + 0xb8]
mov qword [rcx], rbx
mov qword [rcx + 8], rbp
call sym.__url::parser::Input_as_core::iter::traits::iterator::Iterator_::next::hcf61fccc69b3d3fb
lea r8, [rsp + 0xb8]
cmp eax, 0x2f
jne 0x1401a494f
mov rax, qword [r8]
mov rcx, qword [r8 + 8]
mov byte [r8], 1
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov dl, byte [rsp + 0x77]
mov r9, r15
call sym.url::parser::Parser::parse_path::he0f86a2d8d5146c7
jmp 0x1401a496c
mov byte [r8], 1
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbx
mov rcx, rsi
mov dl, byte [rsp + 0x77]
mov r9, r15
call sym.url::parser::Parser::parse_path::he0f86a2d8d5146c7
lea r8, [rsp + 0xb8]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r14 + 0x2c]
mov ecx, dword [r14 + 0x30]
mov r10d, dword [r14 + 0x34]
mov r11d, dword [r14 + 0x38]
lea rsi, [r14 + 0x40]
movzx edi, word [r14 + 0x28]
movzx ebx, word [r14 + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r15d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, r12
mov rdx, r8
mov r8b, byte [rsp + 0x77]
call sym.url::parser::Parser::with_query_and_fragment::h2bf572261781c88f
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x78], r15
lea rax, str.C:Users_soras.cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.5.0_srclib.rs
mov qword [rsp + 0x20], rax
mov rcx, rdi
mov rdx, qword [rsp + 0x80]
xor r8d, r8d
mov r9, r13
mov rsi, qword [rsp + 0x78]
call dbg.slice_error_fail
ud2
mov qword [rsp + 0x78], r15
lea rax, [0x1402af7a0]
jmp 0x1401a49fa