Function at 0x140122996
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, 0x1c8
mov rdi, r8
mov rbp, rdx
mov r14, rcx
mov rbx, qword [rsp + 0x230]
lea rdx, [rsp + 0x1a8]
mov qword [rdx], r8
mov qword [rsp + 0x68], r9
mov qword [rdx + 8], r9
lea rsi, [rsp + 0x70]
mov rcx, rsi
call sym.url::parser::Input::split_first::h8fcd0896e0814536
mov r15d, dword [rsi]
mov r12, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
mov qword [rsp + 0x158], r12
mov qword [rsp + 0x160], r13
cmp r15d, 0x2f
je 0x140122a06
cmp r15d, 0x5c
jne 0x140122b5c
mov qword [rsp + 0x150], rdi
cmp r15d, 0x5c
jne 0x140122a26
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140122a26
mov rax, qword [rbp + 0x38]
xor edx, edx
call qword [rax + 0x28]
lea rdi, [rsp + 0x70]
lea rdx, [rsp + 0x158]
mov rcx, rdi
call sym.url::parser::Input::split_first::h8fcd0896e0814536
mov eax, dword [rdi]
mov rsi, qword [rdi + 8]
mov rdi, qword [rdi + 0x10]
cmp eax, 0x2f
je 0x140122a53
cmp eax, 0x5c
jne 0x140122baa
cmp eax, 0x5c
jne 0x140122a6a
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x140122a6a
mov rax, qword [rbp + 0x38]
xor edx, edx
call qword [rax + 0x28]
movabs r12, 0x8000000000000000
lea rdx, str.file:__
lea r8, [0x1401c7b77]
mov rcx, rbp
call fcn.14006d9d8
lea r15, [rsp + 0x70]
mov rcx, r15
mov rdx, rsi
mov r8, rdi
call sym.url::parser::Parser::file_host::h0bed781c057cb75b
mov rax, qword [r15]
mov bl, byte [r15 + 8]
cmp rax, r12
je 0x140122b50
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x10f], rcx
movups xmm0, xmmword [rsp + 0x79]
movaps xmmword [rsp + 0x100], xmm0
mov rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x107]
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xf1], rcx
mov qword [rsp + 0xe8], rax
mov byte [rsp + 0xf0], bl
mov r8, qword [rsp + 0xf8]
test r8, r8
je 0x140122d1a
mov rdx, qword [rsp + 0xf0]
lea rdi, [rsp + 0x70]
mov rcx, rdi
call sym.url::host::Host::parse::h42ba81b2efb079fc
mov rax, qword [rdi]
lea rcx, [r12 + 2]
mov bl, byte [rdi + 8]
cmp rax, rcx
jne 0x140122d26
lea rcx, [rsp + 0xe8]
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::h2c91e1aa2146c1c3
mov byte [r14 + 8], bl
mov qword [r14], r12
jmp 0x140123268
test rbx, rbx
je 0x140122f51
cmp r15d, 0x23
je 0x140122f0c
cmp r15d, 0x3f
je 0x140122ef4
cmp r15d, 0x110000
jne 0x140122f3c
cmp dword [rbx + 0x20], 0
je 0x140123388
mov edx, dword [rbx + 0x24]
lea r8, [0x1401c7ba8]
mov rcx, rbx
call sym.__alloc::string::String_as_core::ops::index::Index_I__::index::h2d060ab2e8c1b5d0
mov r8, rdx
jmp 0x140123390
lea rdx, str.file:__
lea r8, [0x1401c7b77]
mov rcx, rbp
call fcn.14006d9d8
lea rcx, [rsp + 0x158]
call sym.url::parser::starts_with_windows_drive_letter_segment::h198e584a14bf51a3
xor edi, edi
mov ecx, 7
mov qword [rsp + 0xc0], rcx
test rbx, rbx
je 0x1401231d6
test al, al
jne 0x1401231d6
mov qword [rsp + 0xb8], r14
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, rbx
call sym.url::Url::path_segments::h42557dc12b769b4a
cmp dword [rsi + 0x34], 0x110000
je 0x1401234da
mov qword [rsp + 0xe0], rbp
lea rax, [rsp + 0x100]
lea rsi, [rsp + 0x70]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
cmp byte [rax + 0x41], 0
jne 0x14012311f
mov rsi, qword [rsp + 0x110]
mov rax, qword [rsp + 0x118]
mov rbx, qword [rsp + 0x128]
mov qword [rsp + 0x148], rax
cmp rbx, rax
ja 0x140123100
lea rax, [rsp + 0x130]
movzx edi, byte [rax + 8]
mov rbp, qword [rax - 0x10]
lea rdx, [rsi + rbp]
mov r8, rbx
mov rax, rdx
sub r8, rbp
mov ecx, 0
cmovb rax, rcx
jb 0x140123100
mov cl, byte [rsp + rdi + 0x12f]
cmp r8, 0xf
ja 0x140122caf
xor edx, edx
cmp r8, rdx
je 0x140122cb6
cmp byte [rax + rdx], cl
je 0x140122cba
inc rdx
jmp 0x140122ca0
call sym.core::slice::memchr::memchr_aligned::he12c3299b3e2ce75
jmp 0x140122cbf
xor eax, eax
jmp 0x140122cc2
mov eax, 1
mov r8, rdx
cmp rax, 1
jne 0x1401230fb
add rbp, r8
inc rbp
mov qword [rsp + 0x120], rbp
mov r14, rbp
sub r14, rdi
jb 0x140122c75
cmp rbp, qword [rsp + 0x148]
ja 0x140122c75
cmp dil, 5
jae 0x1401234c6
lea rcx, [rsi + r14]
mov rdx, rdi
lea r8, [rsp + 0x130]
mov r9, rdi
call sym.___A__as_core::slice::cmp::SlicePartialEq_B__::equal::ha2b0c8fa9a1eba4c
test al, al
je 0x140122c75
jmp 0x140123143
mov r12, rbp
mov bl, 1
xor ebp, ebp
jmp 0x140122e57
mov rcx, qword [rsp + 0x79]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xd1], rcx
mov qword [rsp + 0xc8], rax
mov byte [rsp + 0xd0], bl
lea rcx, [r12 + 1]
cmp rax, rcx
jle 0x140122d8f
lea rax, [rsp + 0xc8]
lea rcx, [rsp + 0x70]
mov qword [rcx], rax
call sym.core::cmp::impls::__impl_core::cmp::PartialEq_B__for_A_::eq::h5a1f25636126b9f2
test al, al
je 0x140122d8f
mov r12, rbp
mov byte [rsp + 0x168], 0
lea rcx, [rsp + 0xc8]
call sym.core::ptr::drop_in_place_url::host::Host_::hcdc06cdbcfc4046c
jmp 0x140122d1d
mov rax, qword [rsp + 0xd8]
lea rcx, [rsp + 0x100]
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0xc8]
mov qword [rcx], rax
mov al, byte [rsp + 0xd0]
mov byte [rcx + 8], al
mov eax, dword [rsp + 0xd1]
mov dword [rcx + 9], eax
movzx eax, word [rsp + 0xd5]
mov word [rcx + 0xd], ax
mov al, byte [rsp + 0xd7]
mov byte [rcx + 0xf], al
lea rax, [rsp + 0x1b8]
mov qword [rax], rcx
lea rcx, [0x1401c7c08]
lea rdx, [rsp + 0x70]
mov qword [rdx], rcx
mov ecx, 1
mov qword [rdx + 8], rcx
and qword [rdx + 0x20], 0
lea r8, [sym.__url::host::Host_S__as_core::fmt::Display_::fmt::h70bbab6f64103472]
mov qword [rax + 8], r8
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rcx
mov r12, rbp
mov rcx, rbp
call sym.core::fmt::Write::write_fmt::ha13b469d6c36340d
test al, al
jne 0x1401234e6
mov rax, qword [rsp + 0x110]
lea rdx, [rsp + 0x70]
mov qword [rdx + 0x10], rax
movaps xmm0, xmmword [rsp + 0x100]
movaps xmmword [rdx], xmm0
lea rdi, [rsp + 0x168]
mov rcx, rdi
call sym.__url::host::HostInternal_as_core::convert::From_url::host::Host__::from::h9532ec2af2a9c246
xor ebx, ebx
mov bpl, byte [rdi]
movups xmm0, xmmword [rsp + 0x169]
movaps xmmword [rsp + 0x180], xmm0
lea rcx, [rsp + 0xe8]
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::h2c91e1aa2146c1c3
mov r15, qword [r12 + 0x10]
mov rax, r15
shr rax, 0x20
mov rcx, r15
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov edi, 0x901
cmove rdi, rcx
test dil, dil
jne 0x140122eea
shr rdi, 0x20
test bpl, bpl
setne byte [rsp + 0x100]
test bl, bl
je 0x140123006
mov rbx, r12
mov rcx, r12
mov edx, 0x2f
call sym._ZN5alloc6string6String4push17hee3d37bac55d6da2E.llvm.13455199461950013600
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0x100]
mov rcx, r12
xor edx, edx
mov r9, r15
call sym.url::parser::Parser::parse_path::h463a531ab983916e
jmp 0x140123020
mov byte [r14 + 8], 9
jmp 0x14012308a
cmp dword [rbx + 0x18], 0
je 0x1401232f0
lea rax, [rbx + 0x1c]
mov r15, qword [rsp + 0x68]
jmp 0x140123303
lea rdx, [rsp + 0x70]
mov ecx, 9
mov r9, rdi
mov rdi, rdx
mov rsi, rbp
rep movsq qword [rdi], qword [rsi]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov r8, rbx
call sym.url::parser::Parser::fragment_only::h1fc2e334b3640641
jmp 0x140123270
lea rcx, [rsp + 0x1a8]
call sym.url::parser::starts_with_windows_drive_letter_segment::h198e584a14bf51a3
test al, al
je 0x14012312b
lea rdx, str.file:___
lea r8, [0x1401c7bc8]
mov rcx, rbp
call fcn.14006d9d8
lea r8, [rsp + 0x70]
mov byte [r8], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
mov r9d, 7
mov rcx, rbp
xor edx, edx
call sym.url::parser::Parser::parse_path::h463a531ab983916e
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
mov r9d, 4
call sym.url::parser::Parser::parse_query_and_fragment::h3ab503af7fa49ab1
mov eax, dword [rsi]
cmp eax, 2
je 0x140123253
mov rcx, qword [rsp + 0x74]
mov edx, dword [rsp + 0x7c]
mov r8, qword [rbp + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [rbp]
movups xmmword [r14], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
and word [r14 + 0x28], 0
movaps xmm0, xmmword [0x1401c7840]
movups xmmword [r14 + 0x2c], xmm0
mov dword [r14 + 0x3c], 7
mov byte [r14 + 0x40], 0
jmp 0x140123270
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x100]
mov rcx, r12
xor edx, edx
mov r9, rsi
call sym.url::parser::Parser::parse_path_start::h86437e53986c8333
mov rsi, rax
mov r15, rdx
cmp byte [rsp + 0x100], 0
jne 0x140123058
lea rbx, [rsp + 0x70]
mov r8d, 7
mov rcx, rbx
mov rdx, r12
mov r9, rdi
call sym.alloc::string::String::drain::h971a063e7434d9f1
mov rcx, rbx
call sym.__alloc::string::Drain_as_core::ops::drop::Drop_::drop::h109652584c8fc5f9
mov edi, 7
xor ebp, ebp
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, r12
xor r8d, r8d
mov r9d, 4
call sym.url::parser::Parser::parse_query_and_fragment::h3ab503af7fa49ab1
mov eax, dword [rsi]
cmp eax, 2
jne 0x14012309f
mov al, byte [rsp + 0x74]
mov byte [r14 + 8], al
movabs rax, 0x8000000000000000
mov qword [r14], rax
mov rbp, r12
jmp 0x140123268
mov rcx, qword [rsp + 0x74]
mov edx, dword [rsp + 0x7c]
mov r8, qword [r12 + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [r12]
movups xmmword [r14], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
and word [r14 + 0x28], 0
movabs rax, 0x700000004
mov qword [r14 + 0x2c], rax
mov dword [r14 + 0x34], 7
mov dword [r14 + 0x38], edi
mov dword [r14 + 0x3c], edi
mov byte [r14 + 0x40], bpl
movaps xmm0, xmmword [rsp + 0x180]
jmp 0x1401232dc
test rax, rax
jne 0x140123143
cmp byte [rsp + 0x140], 0
mov rax, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
jne 0x14012314b
cmp r14, rax
jne 0x14012314b
lea rcx, [0x1401c7b90]
call sym.core::option::unwrap_failed::h9762a13207486022
cmp dword [rbx + 0x18], 0
mov r15, qword [rsp + 0x68]
je 0x1401233e7
lea rax, [rbx + 0x1c]
jmp 0x1401233f5
mov rax, qword [rsp + 0x100]
sub r14, rax
mov rbp, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0x230]
add rsi, rax
mov rcx, rsi
mov rdx, r14
call sym.url::parser::is_normalized_windows_drive_letter::hca53431601c6af65
test al, al
je 0x140123190
mov rcx, rbp
mov edx, 0x2f
call sym._ZN5alloc6string6String4push17hee3d37bac55d6da2E.llvm.13455199461950013600
add r14, rsi
mov rcx, rbp
mov rdx, rsi
mov r8, r14
call fcn.14006d9d8
jmp 0x1401231cc
mov rcx, rbx
call sym.url::Url::host_str::hdb512fd581be991b
test rax, rax
je 0x1401231cc
mov r8, rdx
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14006d9d8
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0xc0], rax
mov dil, byte [rbx + 0x40]
movups xmm0, xmmword [rbx + 0x41]
movaps xmmword [rsp + 0x190], xmm0
jmp 0x1401231ce
xor edi, edi
mov r14, qword [rsp + 0xb8]
add r15d, 0xffffffdd
cmp r15d, 0x39
ja 0x1401232e3
movabs rax, 0x200000010001001
bt rax, r15
mov rbx, qword [rsp + 0xc0]
jae 0x140123209
mov r12, qword [rsp + 0x150]
mov r13, qword [rsp + 0x68]
lea r8, [rsp + 0x70]
mov byte [r8], 0
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r12
mov rcx, rbp
xor edx, edx
mov r9, rbx
call sym.url::parser::Parser::parse_path::h463a531ab983916e
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x70]
mov rcx, rsi
mov rdx, rbp
xor r8d, r8d
mov r9d, 4
call sym.url::parser::Parser::parse_query_and_fragment::h3ab503af7fa49ab1
mov eax, dword [rsi]
cmp eax, 2
jne 0x140123287
mov al, byte [rsp + 0x74]
mov byte [r14 + 8], al
movabs rax, 0x8000000000000000
mov qword [r14], rax
mov rcx, rbp
call sym.__alloc::raw_vec::RawVec_T_A__as_core::ops::drop::Drop_::drop::h2c91e1aa2146c1c3
mov rax, r14
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x74]
mov edx, dword [rsp + 0x7c]
mov r8, qword [rbp + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [rbp]
movups xmmword [r14], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
and word [r14 + 0x28], 0
movabs rax, 0x700000004
mov qword [r14 + 0x2c], rax
mov dword [r14 + 0x34], 7
mov dword [r14 + 0x38], ebx
mov dword [r14 + 0x3c], ebx
mov byte [r14 + 0x40], dil
movaps xmm0, xmmword [rsp + 0x190]
movups xmmword [r14 + 0x41], xmm0
jmp 0x140123270
mov rbx, qword [rsp + 0xc0]
jmp 0x140123209
cmp dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x68]
je 0x1401234ac
lea rax, [rbx + 0x24]
mov edx, dword [rax]
mov rcx, rbx
call sym.url::Url::slice::h6c6fa85a1db331ec
mov r8, rdx
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14006d9d8
mov esi, dword [rbx + 0x2c]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
lea rdi, [rsp + 0x70]
mov rcx, rdi
mov rdx, rbp
xor r8d, r8d
mov r9d, esi
call sym.url::parser::Parser::parse_query_and_fragment::h3ab503af7fa49ab1
mov eax, dword [rdi]
cmp eax, 2
je 0x140123253
mov rcx, qword [rsp + 0x74]
mov edx, dword [rsp + 0x7c]
movups xmm0, xmmword [rbx + 0x30]
mov r8d, dword [rbx + 0x28]
movups xmm1, xmmword [rbp]
movups xmmword [r14], xmm1
mov r9, qword [rbp + 0x10]
mov qword [r14 + 0x10], r9
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
mov dword [r14 + 0x28], r8d
mov dword [r14 + 0x2c], esi
movups xmmword [r14 + 0x30], xmm0
jmp 0x1401233d2
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14006d9d8
movups xmm0, xmmword [rbx + 0x2c]
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x18]
movups xmm1, xmmword [rbp]
movups xmmword [r14], xmm1
mov rdx, qword [rbp + 0x10]
mov qword [r14 + 0x10], rdx
mov qword [r14 + 0x18], rcx
and dword [r14 + 0x20], 0
mov ecx, dword [rbx + 0x3c]
mov dword [r14 + 0x28], eax
movups xmmword [r14 + 0x2c], xmm0
mov dword [r14 + 0x3c], ecx
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r14 + 0x40], xmm0
mov al, byte [rbx + 0x50]
mov byte [r14 + 0x50], al
jmp 0x140123270
cmp dword [rbx + 0x20], 0
je 0x1401234b9
lea rax, [rbx + 0x24]
mov edx, dword [rax]
mov rcx, rbx
call sym.url::Url::slice::h6c6fa85a1db331ec
mov r8, rdx
add r8, rax
mov rcx, rbp
mov rdx, rax
call fcn.14006d9d8
mov rsi, rbp
mov ebp, dword [rbx + 0x3c]
mov rcx, rsi
xor edx, edx
mov r8, rbp
call sym.url::parser::Parser::shorten_path::hcc1874040f9449f9
lea r8, [rsp + 0x70]
mov byte [r8], 1
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov rcx, rsi
xor edx, edx
mov r9, rbp
call sym.url::parser::Parser::parse_path::h463a531ab983916e
lea r8, [rsp + 0x70]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x30]
mov r10d, dword [rbx + 0x34]
mov r11d, dword [rbx + 0x38]
lea rsi, [rbx + 0x40]
movzx edi, word [rbx + 0x28]
movzx ebx, word [rbx + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], ebp
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, r14
mov rdx, r8
xor r8d, r8d
call sym.url::parser::Parser::with_query_and_fragment::he64d8aa54ed2ec78
jmp 0x140123270
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
jmp 0x140123310
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
jmp 0x140123402
lea r8, str._rustc_7f2fc33da6633f5a764ddc263c769b6b2873d167librarycore_src_strpattern.rsError_rustc_7f2fc33da6633f5a764ddc263c769b6b2873d167library_alloc_src_vecmod.rs
mov edx, 4
mov rcx, rdi
call sym.core::slice::index::slice_end_index_len_fail::h4c376ee8536a9e87
lea rcx, [0x1401c7b78]
call sym.core::option::unwrap_failed::h9762a13207486022
lea rax, [0x1401c7ca0]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, fcn.140121aa4
lea r8, [rsp + 0x70]
mov edx, 0x2b
call sym.core::result::unwrap_failed::ha877977c4c304bee
int3