Function at 0x1400d3c92
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, 0xd8
mov ebx, r9d
mov r14, rdx
mov rdi, rcx
mov rax, qword [rsp + 0x180]
mov qword [rsp + 0xb0], rax
mov rsi, qword [rsp + 0x178]
mov r9d, dword [rsp + 0x170]
movzx ecx, word [rsp + 0x168]
movzx edx, word [rsp + 0x160]
mov r10, qword [rsp + 0x158]
mov ebp, dword [rsp + 0x150]
mov r13d, dword [rsp + 0x148]
mov r11d, dword [rsp + 0x140]
mov r15d, ebx
lea rax, [r15 + 1]
cmp rax, r9
mov word [rsp + 0x52], cx
mov word [rsp + 0x50], dx
mov dword [rsp + 0x54], r11d
mov qword [rsp + 0xa8], r10
mov qword [rsp + 0xb8], rsi
jne 0x1400d3d59
mov esi, r13d
mov rcx, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
mov r13, r12
sub r13, r9
jbe 0x1400d3d8a
cmp byte [rcx + r9], 0xbf
jg 0x1400d3d8c
lea rax, [0x140138760]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov r8, r9
jmp 0x1400d3ef9
lea rax, [r15 + 3]
cmp rax, r9
jne 0x1400d3dd2
mov byte [rsp + 0x3b], r8b
mov dword [rsp + 0x4c], r13d
mov r13, qword [r14 + 8]
mov r12, qword [r14 + 0x10]
test ebx, ebx
je 0x1400d3de0
cmp r12, r15
jbe 0x1400d3dda
cmp byte [r13 + r15], 0xbf
jg 0x1400d3de0
jmp 0x1400d43d6
jne 0x1400d3d42
cmp r13, 2
jb 0x1400d3ed4
movzx eax, word [rcx + r9]
cmp eax, 0x2f2f
jne 0x1400d3ed4
cmp r12, r9
jbe 0x1400d3e79
cmp byte [rcx + r9], 0xbf
jg 0x1400d3e7f
lea rcx, str.assertion_failed:_self.is_char_boundary_idx_
lea r8, [0x1401382e8]
mov edx, 0x2c
call sym.core::panicking::panic::h82631201f060ca88
mov rsi, r9
jmp 0x1400d3f2b
jne 0x1400d43d6
cmp r12, r9
jbe 0x1400d3e34
cmp byte [r13 + r9], 0xbf
jle 0x1400d43d6
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x3c], ebp
mov rbp, r9
sub rbp, r15
lea r12, [r15 + r13]
lea rdx, [0x140138698]
mov rcx, r12
mov r8, rbp
mov rsi, r9
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400d4017
mov ebp, dword [rsp + 0x3c]
mov r13d, dword [rsp + 0x4c]
mov r8b, byte [rsp + 0x3b]
jmp 0x1400d3f2b
jne 0x1400d43d6
mov rsi, r9
mov r8, r9
sub r8, r15
add r13, r15
lea rdx, [0x140138698]
mov rcx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
mov r13d, dword [rsp + 0x4c]
mov r8b, byte [rsp + 0x3b]
jne 0x1400d3f2b
lea r8, [0x1401386a0]
mov rcx, rsi
mov rdx, r12
call sym.core::panicking::panic_bounds_check::hf065bc95f1c7a8f7
jne 0x1400d3dba
mov byte [rsp + 0x3b], r8b
mov dword [rsp + 0x3c], ebp
mov rax, qword [r14]
sub rax, r12
cmp rax, 1
jbe 0x1400d41e0
lea rdx, [rcx + r9]
lea rbp, [rcx + r9]
add rbp, 2
mov rcx, rbp
mov r8, r13
mov r13, r9
call sub.msvcrt.dll_memmove
mov r9, r13
mov word [rbp - 2], 0x2e2f
add r12, 2
mov qword [r14 + 0x10], r12
add r9d, 2
mov rcx, qword [r14 + 8]
mov ebp, dword [rsp + 0x3c]
mov r8b, byte [rsp + 0x3b]
test ebx, ebx
mov r13d, esi
je 0x1400d3f03
cmp r12, r15
jbe 0x1400d3f01
cmp byte [rcx + r15], 0xbf
jg 0x1400d3f03
lea rax, [0x140138778]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov r8, r15
mov r9, r12
call sym.core::str::slice_error_fail::h472e6b8eeaf3c120
jne 0x1400d3ee7
mov rsi, r9
sub r12, r15
cmp r12, 3
jb 0x1400d3f2b
movzx eax, word [rcx + r15]
xor eax, 0x2f3a
movzx ecx, byte [rcx + r15 + 2]
xor ecx, 0x2f
or cx, ax
je 0x1400d43f0
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r15, [rsp + 0x60]
mov rcx, r15
mov rdx, r14
mov r9d, ebx
call sym.url::parser::Parser::parse_query_and_fragment::h9b181e7dc2879c42
mov eax, dword [r15]
cmp eax, 2
jne 0x1400d3fa3
mov al, byte [rsp + 0x64]
mov byte [rdi + 8], al
movabs rax, 0x8000000000000000
mov qword [rdi], rax
cmp qword [r14], 0
je 0x1400d4003
mov r8, qword [r14 + 8]
mov rcx, qword [0x1401490c0]
xor edx, edx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1400d78a4
mov rcx, qword [rsp + 0x64]
mov edx, dword [rsp + 0x6c]
mov r8, qword [r14 + 0x10]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov r8, qword [rsp + 0xa8]
movups xmm0, xmmword [r8]
movups xmmword [rdi + 0x40], xmm0
mov r8b, byte [r8 + 0x10]
mov byte [rdi + 0x50], r8b
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rcx
mov dword [rdi + 0x24], edx
movzx eax, word [rsp + 0x50]
mov word [rdi + 0x28], ax
movzx eax, word [rsp + 0x52]
mov word [rdi + 0x2a], ax
mov dword [rdi + 0x2c], ebx
mov eax, dword [rsp + 0x54]
mov dword [rdi + 0x30], eax
mov dword [rdi + 0x34], r13d
mov dword [rdi + 0x38], ebp
mov dword [rdi + 0x3c], esi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rsi + r13]
cmp byte [r13 + rsi], 0x2f
mov r8b, byte [rsp + 0x3b]
jne 0x1400d4408
lea rax, [rsi + 1]
cmp rax, qword [rsp + 0x40]
jae 0x1400d404d
cmp byte [r13 + rax], 0x2f
jne 0x1400d404d
mov ebp, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x40]
jmp 0x1400d432a
test ebx, ebx
je 0x1400d4074
cmp qword [rsp + 0x40], r15
jbe 0x1400d4072
cmp byte [r12], 0xbf
jg 0x1400d4074
lea rcx, str.assertion_failed:_self.is_char_boundary_n__rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_string.rs
lea r8, [0x140138ca0]
jmp 0x1400d4427
jne 0x1400d405f
cmp byte [rcx], 0xbf
jle 0x1400d4419
cmp ebx, esi
ja 0x1400d4431
mov r8, qword [rsp + 0x40]
sub r8, rsi
jb 0x1400d4443
mov qword [r14 + 0x10], r15
lea rdx, [rsp + 0x88]
mov qword [rdx - 0x10], rsi
mov qword [rdx - 8], r8
mov qword [rdx - 0x18], r14
lea r10, [0x140138b2a]
mov qword [rdx], r10
lea rax, [0x140138b2b]
mov qword [rdx + 8], rax
mov ecx, 1
mov qword [rdx - 0x28], rcx
mov qword [rdx - 0x20], rcx
mov qword [rsp + 0x58], rsi
jne 0x1400d40e1
mov rcx, r14
call sym.alloc::vec::Vec_T_A_::extend_trusted::h150d4ce44e0e51aa
jmp 0x1400d420f
xor r13d, r13d
cmp ebx, esi
jne 0x1400d4175
mov r12, r10
mov ebp, 1
sub rbp, r13
mov rax, qword [r14]
mov rdx, qword [rsp + 0x40]
sub rax, rdx
cmp rax, rbp
jb 0x1400d439c
add rbp, rsi
mov rcx, qword [r14 + 8]
lea rdx, [rcx + rsi]
add rcx, rbp
call sub.msvcrt.dll_memmove
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x78], rbp
mov rcx, qword [r14 + 0x10]
mov rax, r12
cmp rcx, rbp
je 0x1400d41ac
mov rax, rsi
sub rax, rcx
add rcx, qword [r14 + 8]
inc rax
mov ebp, dword [rsp + 0x3c]
cmp r13, 1
je 0x1400d42fc
inc r13
mov byte [rcx], 0x3a
inc rcx
inc qword [r14 + 0x10]
cmp rax, r13
jne 0x1400d4145
lea rax, [0x140138b2a]
add rax, r13
mov qword [rsp + 0x88], rax
jmp 0x1400d41ac
cmp r13, 1
je 0x1400d4200
mov byte [r12 + r13], 0x3a
inc r13
inc qword [r14 + 0x10]
cmp rbp, r13
jne 0x1400d4175
lea r10, [0x140138b2a]
add r10, r13
mov qword [rsp + 0x88], r10
cmp r13, 1
jne 0x1400d40ec
lea r12, [0x140138b2a]
sub r12, rax
inc r12
je 0x1400d4218
js 0x1400d4457
mov al, byte [0x140149110]
xor ecx, ecx
mov rdx, r12
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h1ca289f3d44bb24b
test rax, rax
jne 0x1400d4220
mov ecx, 1
jmp 0x1400d4459
mov r8d, 2
mov rcx, r14
mov rdx, r12
mov rbp, r9
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::hbad8ed212bd1c378
mov r9, rbp
mov rcx, qword [r14 + 8]
jmp 0x1400d3e98
lea rax, [0x140138b2b]
mov qword [rsp + 0x88], rax
mov ebp, dword [rsp + 0x3c]
jmp 0x1400d430b
xor r12d, r12d
mov eax, 1
lea r13, [rsp + 0xc0]
mov qword [r13], r12
mov qword [r13 + 8], rax
mov qword [r13 + 0x10], 0
mov rcx, r13
lea rdx, [rsp + 0x88]
call sym.alloc::vec::Vec_T_A_::extend_trusted::h150d4ce44e0e51aa
mov r9, qword [r13]
mov r8, qword [r13 + 8]
mov r13, qword [r13 + 0x10]
test r13, r13
je 0x1400d42e3
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x40], r8
mov rbp, qword [rsp + 0x70]
mov r12, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
lea rdx, [r8 + r12]
mov rax, qword [rbp]
sub rax, rdx
cmp rax, r13
jb 0x1400d43b6
lea rsi, [r12 + r13]
mov rcx, qword [rbp + 8]
lea rdx, [rcx + r12]
add rcx, rsi
call sub.msvcrt.dll_memmove
mov qword [rsp + 0x78], rsi
mov rax, qword [rbp + 0x10]
cmp rax, rsi
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0xa0]
je 0x1400d42e3
sub r12, rax
add rax, qword [rbp + 8]
add r12, r13
xor ecx, ecx
cmp r13, rcx
je 0x1400d42e3
mov dl, byte [r8 + rcx]
mov byte [rax + rcx], dl
inc qword [rbp + 0x10]
inc rcx
cmp r12, rcx
jne 0x1400d42cb
test r9, r9
mov ebp, dword [rsp + 0x3c]
je 0x1400d430b
mov rcx, qword [0x1401490c0]
xor edx, edx
call fcn.1400d78a4
jmp 0x1400d430b
lea rax, [0x140138b2b]
mov qword [rsp + 0x88], rax
lea rcx, [rsp + 0x60]
call sym.__alloc::vec::drain::Drain_T_A__as_core::ops::drop::Drop_::drop::h627502227cb7a3e2
mov rsi, qword [rsp + 0x58]
add esi, 0xfffffffe
mov r13, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
mov r8b, byte [rsp + 0x3b]
test ebx, ebx
je 0x1400d4357
cmp rdx, r15
jbe 0x1400d4355
cmp byte [r13 + r15], 0xbf
jg 0x1400d4357
lea rax, [0x1401386b8]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov r8, r15
mov r9, rdx
call sym.core::str::slice_error_fail::h472e6b8eeaf3c120
jne 0x1400d433b
sub rdx, r15
cmp rdx, 3
jae 0x1400d436a
mov r13d, dword [rsp + 0x4c]
jmp 0x1400d3f2b
movzx eax, word [r13 + r15]
xor eax, 0x2f3a
movzx ecx, byte [r13 + r15 + 2]
xor ecx, 0x2f
or cx, ax
mov r13d, dword [rsp + 0x4c]
jne 0x1400d3f2b
lea rcx, [0x1401386d3]
lea r8, [0x140138728]
jmp 0x1400d43fe
mov rcx, r14
mov qword [rsp + 0x40], r8
mov r8, rbp
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h4b6f7b0838efcf76
mov r8, qword [rsp + 0x40]
jmp 0x1400d410b
mov rcx, rbp
mov qword [rsp + 0x98], r8
mov r8, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h4b6f7b0838efcf76
mov r8, qword [rsp + 0x98]
jmp 0x1400d4290
lea rax, [0x140138680]
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
mov r8, r15
call sym.core::str::slice_error_fail::h472e6b8eeaf3c120
lea rcx, [0x1401386d3]
lea r8, [0x140138790]
mov edx, 0x4f
call sym.core::panicking::panic::h82631201f060ca88
lea rdx, [rsp + 0x60]
mov qword [rdx], 0
call sym.core::panicking::assert_failed::h5cac78980aeddd02
lea rcx, str.assertion_failed:_self.is_char_boundary_n__rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_string.rs
lea r8, [0x140138cb8]
mov edx, 0x2a
call sym.core::panicking::panic::h82631201f060ca88
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_vecmod.rs
mov rcx, r15
mov rdx, rsi
call sym.core::slice::index::slice_index_order_fail::h786748ba81f41b02
lea r8, str._rustc_eeb90cda1969383f56a2637cbd3037bdf598841clibrary_alloc_src_vecmod.rs
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
call sym.core::slice::index::slice_end_index_len_fail::hdaa9bbd2fcad4cbb
xor ecx, ecx
mov rdx, r12
call sym.alloc::raw_vec::handle_error::hd43ffb3afada7951
int3