Function at 0x1401905c0
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, 0xe8
mov r14, r9
mov rdi, r8
mov rsi, rdx
mov rbx, qword [rsp + 0x158]
movzx eax, byte [rsp + 0x150]
mov byte [rsp + 0x77], al
mov eax, 0x2600
mov r15, r8
jmp 0x14019060f
mov edx, r10d
cmp edx, 0x110000
jne 0x1401906db
cmp r15, r14
je 0x1401908a6
movzx r10d, byte [r15]
test r10b, r10b
js 0x140190630
inc r15
cmp r10d, 0xd
jbe 0x1401906c0
jmp 0x140190600
mov edx, r10d
and edx, 0x1f
movzx r9d, byte [r15 + 1]
and r9d, 0x3f
cmp r10b, 0xdf
jbe 0x140190690
movzx r8d, byte [r15 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp r10b, 0xf0
jb 0x1401906a8
movzx r10d, byte [r15 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and r10d, 0x3f
or r10d, r8d
or r10d, edx
cmp r10d, 0x110000
je 0x1401908a6
add r15, 4
cmp r10d, 0xd
jbe 0x1401906c0
jmp 0x140190600
add r15, 2
shl edx, 6
or edx, r9d
mov r10d, edx
cmp r10d, 0xd
jbe 0x1401906c0
jmp 0x140190600
add r15, 3
shl edx, 0xc
or r8d, edx
mov r10d, r8d
cmp r10d, 0xd
ja 0x140190600
nop
mov edx, 0x110000
bt eax, r10d
jae 0x140190600
cmp edx, 0x110000
je 0x14019060f
cmp edx, 0x3e
jg 0x140190706
cmp edx, 0x23
je 0x140190911
cmp edx, 0x2f
je 0x140190714
cmp dword [rbx + 0x18], 0
mov qword [rsp + 0x78], rcx
je 0x1401909b4
lea rax, [rbx + 0x1c]
jmp 0x1401909c2
cmp edx, 0x3f
je 0x140190969
cmp edx, 0x5c
jne 0x1401906ee
xor eax, eax
mov ebp, 0x2600
mov r12, rdi
mov rdx, rdi
cmp rdx, r14
jne 0x140190763
jmp 0x14019082a
inc rdx
cmp r8d, 0xd
ja 0x140190800
mov r9d, 0x110000
bt ebp, r8d
jae 0x140190800
cmp r9d, 0x110000
jne 0x140190810
cmp rdx, r14
je 0x14019082a
movzx r8d, byte [rdx]
test r8b, r8b
jns 0x140190730
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rdx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x1401907cc
movzx r10d, byte [rdx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x1401907e6
movzx r8d, byte [rdx + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0x110000
je 0x14019082a
add rdx, 4
cmp r8d, 0xd
jbe 0x14019073d
jmp 0x140190800
add rdx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
cmp r8d, 0xd
jbe 0x14019073d
jmp 0x140190800
add rdx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xd
jbe 0x14019073d
nop
mov r9d, r8d
cmp r9d, 0x110000
je 0x14019075a
cmp r9d, 0x5c
je 0x14019081c
cmp r9d, 0x2f
jne 0x14019082a
inc eax
mov r12, rdx
cmp rdx, r14
jne 0x140190763
mov qword [rsp + 0x78], rcx
cmp eax, 1
jbe 0x1401908e2
mov qword [rsp + 0xc8], r12
mov r12, qword [rsi + 0x30]
test r12, r12
je 0x140190adc
mov r15, qword [rsi + 0x38]
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], r14
mov byte [rsp + 0x90], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x80]
call sym._ZN95__LT_alloc..string..String_u20_as_u20_core..iter..traits..collect..FromIterator_LT_char_GT__GT_9from_iter17h5d78906bb0366
mov rcx, qword [rsp + 0xd8]
cmp qword [rsp + 0xe0], 2
jne 0x140190ab4
movzx eax, word [rcx]
cmp eax, 0x2f2f
sete bpl
jmp 0x140190ab6
mov rdi, rcx
cmp dword [rbx + 0x20], 0
je 0x1401909a7
mov r12d, dword [rbx + 0x24]
mov r13, qword [rbx + 8]
test r12, r12
je 0x140190b02
mov rbp, qword [rbx + 0x10]
cmp rbp, r12
jbe 0x140190c66
cmp byte [r13 + r12], 0xbf
jg 0x140190c6c
jmp 0x1401911a8
mov r12d, dword [rbx + 0x3c]
mov r13, qword [rbx + 8]
test r12, r12
je 0x140190a2e
mov rbp, qword [rbx + 0x10]
cmp rbp, r12
jbe 0x140190a28
cmp byte [r13 + r12], 0xbf
jg 0x140190a2e
jmp 0x140190d60
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0x80]
mov r8, rbx
mov r9, rdi
call sym.url::parser::Parser::fragment_only::hdcefc538df1be887
jmp 0x140191193
cmp dword [rbx + 0x18], 0
je 0x1401909ec
mov r15, rcx
lea rax, [rbx + 0x1c]
mov r12d, dword [rax]
mov r13, qword [rbx + 8]
test r12, r12
je 0x140190a0d
mov rbp, qword [rbx + 0x10]
cmp rbp, r12
jbe 0x140190b19
cmp byte [r13 + r12], 0xbf
jle 0x140190d60
mov rbp, r12
jmp 0x140190eb8
mov r13, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
jmp 0x140190c6c
cmp dword [rbx + 0x20], 0
je 0x140190ce5
lea rax, [rbx + 0x24]
mov r12d, dword [rax]
mov r13, qword [rbx + 8]
mov rbp, qword [rbx + 0x10]
test r12, r12
je 0x140190a18
cmp rbp, r12
jbe 0x140190b0e
cmp byte [r13 + r12], 0xbf
jg 0x140190cf0
jmp 0x140190d60
cmp dword [rbx + 0x20], 0
je 0x140190ead
mov r15, rcx
lea rax, [rbx + 0x24]
mov r12d, dword [rax]
mov r13, qword [rbx + 8]
test r12, r12
jne 0x140190986
mov rdx, qword [rsi + 0x10]
xor ebp, ebp
jmp 0x140190ed6
lea r15, [rsi + 0x10]
mov rdx, qword [rsi + 0x10]
xor r12d, r12d
jmp 0x140190d11
jne 0x140190d60
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, r12
jae 0x140190a4c
mov rcx, rsi
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6dce18a01912603c
mov rdx, qword [rsi + 0x10]
add rdx, qword [rsi + 8]
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sym.memcpy
mov rdi, qword [rsi + 0x10]
add rdi, r12
mov qword [rsi + 0x10], rdi
cmp rdi, qword [rsi]
jne 0x140190a76
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::hcf8513bd670488a6
mov rax, qword [rsi + 8]
mov byte [rax + rdi], 0x2f
inc rdi
mov qword [rsi + 0x10], rdi
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
lea r8, [rsp + 0x80]
mov rcx, rsi
movzx edx, byte [rsp + 0x77]
mov r9, r12
call sym.url::parser::Parser::parse_path::h976b36d7cb0f38bf
jmp 0x1401910f9
xor ebp, ebp
mov rdx, qword [rsp + 0xd0]
test rdx, rdx
je 0x140190ace
mov r8d, 1
call sym.__rust_dealloc
test bpl, bpl
jne 0x140190adc
mov rcx, r12
mov dl, 3
call qword [r15 + 0x28]
mov r15d, dword [rbx + 0x2c]
mov r12d, r15d
mov r13, qword [rbx + 8]
inc r12d
je 0x140190b2a
mov rbp, qword [rbx + 0x10]
cmp rbp, r12
jbe 0x140190b24
cmp byte [r13 + r12], 0xbf
jg 0x140190b2a
jmp 0x140190d60
mov rdx, qword [rsi + 0x10]
xor r12d, r12d
jmp 0x140190c8a
je 0x140190ced
jmp 0x140190d60
je 0x140190eb8
jmp 0x140190d60
jne 0x140190d60
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, r12
jae 0x140190b48
mov rcx, rsi
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6dce18a01912603c
mov rdx, qword [rsi + 0x10]
add rdx, qword [rsi + 8]
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sym.memcpy
add qword [rsi + 0x10], r12
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], r14
lea rcx, [0x140377af8]
lea r8, [rsp + 0x80]
mov edx, 2
call sym.__str_as_url::parser::Pattern_::split_prefix::hdcd63942d032308b
test al, al
je 0x140190bfb
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x28], r15d
movzx eax, byte [rsp + 0x77]
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
call sym.url::parser::Parser::after_double_slash::h003e6db2d78c2aac
jmp 0x140191193
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x28], r15d
movzx eax, byte [rsp + 0x77]
mov byte [rsp + 0x20], al
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0xc8]
mov r9, r14
call sym.url::parser::Parser::after_double_slash::h003e6db2d78c2aac
jmp 0x140191193
jne 0x1401911a8
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, r12
jae 0x140190c8a
mov rcx, rsi
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6dce18a01912603c
mov rdx, qword [rsi + 0x10]
add rdx, qword [rsi + 8]
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sym.memcpy
add r12, qword [rsi + 0x10]
mov qword [rsi + 0x10], r12
mov qword [rdi + 0x10], r12
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
movzx eax, byte [rbx + 0x50]
mov byte [rdi + 0x50], al
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rdi + 0x40], xmm0
mov eax, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x18]
mov qword [rdi + 0x18], rcx
mov dword [rdi + 0x20], 0
mov ecx, dword [rbx + 0x28]
mov dword [rdi + 0x28], ecx
movups xmm0, xmmword [rbx + 0x2c]
movups xmmword [rdi + 0x2c], xmm0
mov dword [rdi + 0x3c], eax
jmp 0x140191193
mov r13, qword [rbx + 8]
mov rbp, qword [rbx + 0x10]
mov r12, rbp
lea r15, [rsi + 0x10]
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, r12
jae 0x140190d11
mov rcx, rsi
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6dce18a01912603c
mov rdx, qword [r15]
add rdx, qword [rsi + 8]
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sym.memcpy
add qword [rsi + 0x10], r12
mov r12d, dword [rbx + 0x3c]
mov rcx, rsi
movzx edx, byte [rsp + 0x77]
mov r8, r12
call sym.url::parser::Parser::pop_path::hc243f9cb6518987b
mov rax, rdi
cmp qword [r15], r12
jne 0x140190ffd
mov r15, r12
mov r12d, dword [rbx + 0x2c]
test r12, r12
je 0x140190d81
cmp rbp, r12
jbe 0x140190d7f
cmp byte [r13 + r12], 0xbf
jg 0x140190d81
lea rax, [0x140377fd0]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, rbp
xor r8d, r8d
mov r9, r12
call sym.core::str::slice_error_fail::h472e6b8eeaf3c120
ud2
jne 0x140190d60
mov rcx, r13
mov rdx, r12
call sym.__url::parser::SchemeType_as_core::convert::From_T__::from::h38d484d6ba62756d
cmp al, 2
mov r12, r15
jne 0x140190e86
mov eax, 0x2600
mov rcx, rdi
jmp 0x140190dd8
inc rcx
cmp edx, 0xd
ja 0x140190e76
mov r8d, 0x110000
bt eax, edx
jae 0x140190e76
cmp r8d, 0x110000
jne 0x140190e86
cmp rcx, r14
je 0x140190fba
movzx edx, byte [rcx]
test dl, dl
jns 0x140190db0
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rcx + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x140190e46
movzx r9d, byte [rcx + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x140190e5f
movzx edx, byte [rcx + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0x110000
je 0x140190fbf
add rcx, 4
cmp edx, 0xd
jbe 0x140190dbc
jmp 0x140190e76
add rcx, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
cmp edx, 0xd
jbe 0x140190dbc
jmp 0x140190e76
add rcx, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xd
jbe 0x140190dbc
mov r8d, edx
cmp r8d, 0x110000
je 0x140190dd8
cmp qword [rsi], r12
jne 0x140190e93
mov rcx, rsi
call sym.alloc::raw_vec::RawVec_T_A_::grow_one::hcf8513bd670488a6
mov rax, qword [rsi + 8]
mov byte [rax + r12], 0x2f
lea rax, [r12 + 1]
mov qword [rsi + 0x10], rax
mov rax, rdi
jmp 0x140190ffd
mov r15, rcx
mov r13, qword [rbx + 8]
mov rbp, qword [rbx + 0x10]
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, rbp
jae 0x140190ed6
mov rcx, rsi
mov r8, rbp
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h6dce18a01912603c
mov rdx, qword [rsi + 0x10]
add rdx, qword [rsi + 8]
mov rcx, rdx
mov rdx, r13
mov r8, rbp
call sym.memcpy
add qword [rsi + 0x10], rbp
mov ebp, dword [rbx + 0x2c]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x80]
mov rdx, rsi
movzx r8d, byte [rsp + 0x77]
mov r9d, ebp
call sym.url::parser::Parser::parse_query_and_fragment::h5f9f82b3bbd56032
mov eax, dword [rsp + 0x80]
cmp eax, 2
jne 0x140190f65
movzx eax, byte [rsp + 0x84]
mov byte [r15 + 8], al
movabs rax, 0x8000000000000000
mov qword [r15], rax
mov rdx, qword [rsi]
test rdx, rdx
je 0x140191193
mov rcx, qword [rsi + 8]
mov r8d, 1
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sym.__rust_dealloc
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rsi + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r15], xmm0
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r15 + 0x40], xmm0
movzx r8d, byte [rbx + 0x50]
mov byte [r15 + 0x50], r8b
mov dword [r15 + 0x18], eax
mov qword [r15 + 0x1c], rdx
mov dword [r15 + 0x24], ecx
mov eax, dword [rbx + 0x28]
mov dword [r15 + 0x28], eax
mov dword [r15 + 0x2c], ebp
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [r15 + 0x30], xmm0
jmp 0x140191193
mov rax, rdi
jmp 0x140190ffd
mov rax, rdi
jmp 0x140190ffd
inc rax
cmp ecx, 0xd
ja 0x140191090
mov edx, 0x110000
mov r8d, 0x2600
bt r8d, ecx
jae 0x140191090
cmp edx, 0x110000
jne 0x14019109e
cmp rax, r14
je 0x1401910cf
movzx ecx, byte [rax]
test cl, cl
jns 0x140190fd0
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rax + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14019105e
movzx r8d, byte [rax + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x140191075
movzx ecx, byte [rax + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x1401910cf
add rax, 4
cmp ecx, 0xd
jbe 0x140190fdc
jmp 0x140191090
add rax, 2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0xd
jbe 0x140190fdc
jmp 0x140191090
add rax, 3
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0xd
jbe 0x140190fdc
nop dword [rax + rax]
mov edx, ecx
cmp edx, 0x110000
je 0x140190ffd
cmp edx, 0x2f
jne 0x1401910cf
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x80]
mov rcx, rsi
movzx edx, byte [rsp + 0x77]
mov r9, r12
call sym.url::parser::Parser::parse_path::h976b36d7cb0f38bf
jmp 0x1401910f9
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0x80]
mov rcx, rsi
movzx edx, byte [rsp + 0x77]
mov r9, r12
call sym.url::parser::Parser::parse_path::h976b36d7cb0f38bf
mov rcx, qword [rsi + 0x40]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rsi]
movups xmm1, xmmword [rsi + 0x10]
movups xmm2, xmmword [rsi + 0x20]
movups xmm3, xmmword [rsi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov r9d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x30]
mov r8d, dword [rbx + 0x34]
mov r10d, dword [rbx + 0x38]
lea r11, [rbx + 0x40]
movzx esi, word [rbx + 0x28]
movzx edi, word [rbx + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r12d
mov word [rsp + 0x48], di
mov word [rsp + 0x40], si
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
lea rdx, [rsp + 0x80]
mov rcx, qword [rsp + 0x78]
movzx r8d, byte [rsp + 0x77]
call sym.url::parser::Parser::with_query_and_fragment::h64b8bc251c1b3168
nop
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [0x140377b38]
jmp 0x140190d67