Function at 0x1400f0af0
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 rsi, r8
mov rdi, rdx
mov r12, rcx
mov rbx, qword [rsp + 0x158]
movzx r15d, byte [rsp + 0x150]
mov eax, 0x2600
mov r13, r8
nop dword [rax + rax]
cmp r13, r14
je 0x1400f0f67
movzx r9d, byte [r13]
movzx ecx, r9b
test cl, cl
js 0x1400f0b60
inc r13
cmp ecx, 0xd
jbe 0x1400f0be0
jmp 0x1400f0c00
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [r13 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400f0bb7
movzx r8d, byte [r13 + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400f0bca
movzx ecx, byte [r13 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x1400f0f67
add r13, 4
cmp ecx, 0xd
jbe 0x1400f0be0
jmp 0x1400f0c00
add r13, 2
shl edx, 6
or edx, r10d
mov ecx, edx
cmp ecx, 0xd
jbe 0x1400f0be0
jmp 0x1400f0c00
add r13, 3
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0xd
ja 0x1400f0c00
nop dword [rax]
mov edx, 0x110000
bt eax, ecx
jae 0x1400f0c00
cmp edx, 0x110000
je 0x1400f0b30
jmp 0x1400f0c0e
mov edx, ecx
cmp edx, 0x110000
je 0x1400f0b30
cmp edx, 0x3e
jg 0x1400f0c39
cmp edx, 0x23
je 0x1400f0fea
cmp edx, 0x2f
je 0x1400f0c47
test byte [rbx + 0x18], 1
mov qword [rsp + 0x78], r12
je 0x1400f1095
lea rax, [rbx + 0x1c]
jmp 0x1400f10a3
cmp edx, 0x3f
je 0x1400f1045
cmp edx, 0x5c
jne 0x1400f0c21
xor eax, eax
mov ecx, 0x2600
mov rdx, rsi
mov qword [rsp + 0xc8], rsi
cmp rdx, r14
jne 0x1400f0c89
jmp 0x1400f0d74
mov r9d, r8d
cmp r9d, 0x110000
jne 0x1400f0d55
cmp rdx, r14
je 0x1400f0d74
movzx r11d, byte [rdx]
movzx r8d, r11b
test r8b, r8b
js 0x1400f0cb0
inc rdx
cmp r8d, 0xd
jbe 0x1400f0d40
jmp 0x1400f0c70
mov r9d, r8d
and r9d, 0x1f
movzx ebp, byte [rdx + 1]
and ebp, 0x3f
cmp r8b, 0xdf
jbe 0x1400f0d0c
movzx r10d, byte [rdx + 2]
shl ebp, 6
and r10d, 0x3f
or r10d, ebp
cmp r11b, 0xf0
jb 0x1400f0d25
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 0x1400f0d74
add rdx, 4
cmp r8d, 0xd
jbe 0x1400f0d40
jmp 0x1400f0c70
add rdx, 2
shl r9d, 6
or r9d, ebp
mov r8d, r9d
cmp r8d, 0xd
jbe 0x1400f0d40
jmp 0x1400f0c70
add rdx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xd
ja 0x1400f0c70
nop dword [rax]
mov r9d, 0x110000
bt ecx, r8d
jb 0x1400f0c73
jmp 0x1400f0c70
cmp r9d, 0x5c
je 0x1400f0d61
cmp r9d, 0x2f
jne 0x1400f0d74
inc eax
mov qword [rsp + 0xc8], rdx
cmp rdx, r14
jne 0x1400f0c89
cmp eax, 1
jbe 0x1400f0f9f
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x1400f1143
mov qword [rsp + 0xe0], rax
mov byte [rsp + 0x77], r15b
mov qword [rsp + 0x78], r12
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 1
mov qword [rsp + 0x90], 0
mov eax, 1
xor r13d, r13d
lea rdx, [0x1401464d8]
mov ebp, 0x2600
mov r15, rsi
jmp 0x1400f0e00
mov r12d, ecx
cmp r12d, 0x110000
jne 0x1400f0ed4
cmp r15, r14
je 0x1400f0f3e
movzx r9d, byte [r15]
movzx ecx, r9b
test cl, cl
js 0x1400f0e30
inc r15
cmp ecx, 0xd
jbe 0x1400f0ec0
jmp 0x1400f0df0
mov r11d, ecx
and r11d, 0x1f
movzx r10d, byte [r15 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1400f0e8f
movzx r8d, byte [r15 + 2]
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
cmp r9b, 0xf0
jb 0x1400f0ea7
movzx ecx, byte [r15 + 3]
and r11d, 7
shl r11d, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, r11d
cmp ecx, 0x110000
je 0x1400f0f3e
add r15, 4
cmp ecx, 0xd
jbe 0x1400f0ec0
jmp 0x1400f0df0
add r15, 2
shl r11d, 6
or r11d, r10d
mov ecx, r11d
cmp ecx, 0xd
jbe 0x1400f0ec0
jmp 0x1400f0df0
add r15, 3
shl r11d, 0xc
or r8d, r11d
mov ecx, r8d
cmp ecx, 0xd
ja 0x1400f0df0
nop
mov r12d, 0x110000
bt ebp, ecx
jb 0x1400f0df3
jmp 0x1400f0df0
cmp r12d, 0x5c
je 0x1400f0ee0
cmp r12d, 0x2f
jne 0x1400f0f2a
cmp r13, qword [rsp + 0x80]
jne 0x1400f0f1b
lea rcx, [rsp + 0x80]
mov qword [rsp + 0xd8], r13
mov r13, rsi
mov rsi, rdx
call fcn.140007020
mov rdx, rsi
mov rsi, r13
mov r13, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x88]
mov byte [rax + r13], r12b
inc r13
mov qword [rsp + 0x90], r13
cmp r12d, 0x2f
je 0x1400f0e00
cmp r12d, 0x5c
je 0x1400f0e00
mov rax, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x88]
cmp r13, 2
jne 0x1400f1102
cmp word [rbp], 0x2f2f
sete r15b
jmp 0x1400f1105
test byte [rbx + 0x20], 1
je 0x1400f1088
mov r14d, dword [rbx + 0x24]
mov rdx, qword [rbx + 8]
test r14, r14
je 0x1400f13d4
mov rax, qword [rbx + 0x10]
cmp rax, r14
jbe 0x1400f158c
cmp byte [rdx + r14], 0xc0
jge 0x1400f1592
jmp 0x1400f1a2f
mov byte [rsp + 0x77], r15b
mov r15d, dword [rbx + 0x3c]
mov rdx, qword [rbx + 8]
test r15, r15
je 0x1400f1191
mov rax, qword [rbx + 0x10]
cmp rax, r15
jbe 0x1400f118b
cmp byte [rdx + r15], 0xbf
jg 0x1400f1191
add byte [rax], al
test byte [rbx + 0x18], 1
mov qword [rsp + 0x78], r12
je 0x1400f10d9
lea rax, [rbx + 0x1c]
mov r9d, dword [rax]
mov rdx, qword [rbx + 8]
mov r14, qword [rbx + 0x10]
adc cl, ch
std
add al, 0
invalid
test byte [rbx + 0x20], 1
test byte [rbx + 0x20], 1
je 0x1400f13c7
lea rax, [rbx + 0x24]
mov r9d, dword [rax]
mov rdx, qword [rbx + 8]
test r9, r9
xor r15d, r15d
mov r12, qword [rsp + 0x78]
test rax, rax
je 0x1400f1123
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8, rbp
call qword [sym.imp.KERNEL32.dll_HeapFree]
test r15b, r15b
movzx r15d, byte [rsp + 0x77]
mov rcx, qword [rsp + 0xe0]
jne 0x1400f1143
mov dl, 3
mov rax, qword [rsp + 0xd0]
call qword [rax + 0x28]
mov ebp, dword [rbx + 0x2c]
mov r13d, ebp
mov rdx, qword [rbx + 8]
inc r13d
je 0x1400f12a4
mov rax, qword [rbx + 0x10]
cmp rax, r13
jbe 0x1400f129e
cmp byte [rdx + r13], 0xbf
jg 0x1400f12a4
lea rcx, str..cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.5.4_srclib.rs
mov qword [rsp + 0x20], rcx
mov rcx, rdx
mov rdx, rax
xor r8d, r8d
mov r9, r13
call fcn.1400f8540
jne 0x1400f0fcd
mov qword [rsp + 0x78], r12
mov rsi, qword [rdi]
mov r12, qword [rdi + 0x10]
mov rax, rsi
sub rax, r12
cmp rax, r15
jb 0x1400f19cc
mov rbp, qword [rdi + 8]
lea rcx, [r12 + rbp]
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
add r12, r15
mov qword [rdi + 0x10], r12
cmp r12, rsi
jne 0x1400f11db
lea rdx, [0x1401464d8]
mov rcx, rdi
call fcn.140007020
mov rbp, qword [rdi + 8]
mov byte [rbp + r12], 0x2f
inc r12
mov qword [rdi + 0x10], r12
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x80]
mov rcx, rdi
movzx ebp, byte [rsp + 0x77]
mov edx, ebp
mov r9, r15
call fcn.1400ed980
mov rcx, qword [rdi + 0x40]
mov qword [rsp + 0xc0], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 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], r15d
jmp 0x1400f18df
jne 0x1400f116e
mov rax, qword [rdi]
mov rbx, qword [rdi + 0x10]
sub rax, rbx
cmp rax, r13
jb 0x1400f1995
mov rcx, qword [rdi + 8]
add rcx, rbx
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
add rbx, r13
mov qword [rdi + 0x10], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x88], r14
lea rcx, [0x140145940]
lea r8, [rsp + 0x80]
mov edx, 2
call fcn.1400ebc90
test al, al
je 0x1400f1363
mov r8, qword [rsp + 0x80]
mov r9, qword [rsp + 0x88]
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0xb0], xmm3
movaps xmmword [rsp + 0xa0], xmm2
movaps xmmword [rsp + 0x90], xmm1
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 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], ebp
mov byte [rsp + 0x20], r15b
lea rdx, [rsp + 0x80]
mov rcx, r12
mov r8, qword [rsp + 0xc8]
mov r9, r14
call fcn.1400ebe20
jmp 0x1400f1911
mov rdx, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
jmp 0x1400f147d
xor r14d, r14d
jmp 0x1400f15a5
jne 0x1400f1a2f
mov rcx, qword [rdi]
mov rax, qword [rdi + 0x10]
sub rcx, rax
cmp rcx, r14
jb 0x1400f1926
mov rsi, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
add rcx, rsi
mov r8, r14
call sub.VCRUNTIME140.dll_memcpy
add rsi, r14
mov qword [rdi + 0x10], rsi
mov qword [r12 + 0x10], rsi
movups xmm0, xmmword [rdi]
movups xmmword [r12], xmm0
movzx eax, byte [rbx + 0x50]
mov byte [r12 + 0x50], al
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [r12 + 0x40], xmm0
mov eax, dword [rbx + 0x3c]
mov rcx, qword [rbx + 0x18]
mov qword [r12 + 0x18], rcx
mov dword [r12 + 0x20], 0
mov ecx, dword [rbx + 0x28]
mov dword [r12 + 0x28], ecx
movups xmm0, xmmword [rbx + 0x2c]
movups xmmword [r12 + 0x2c], xmm0
mov dword [r12 + 0x3c], eax
jmp 0x1400f1911
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rdi
mov rsi, rdx
mov rdx, rax
mov r8, r14
call fcn.1400fe8a0
mov rdx, rsi
jmp 0x1400f15a5
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rdi
mov byte [rsp + 0x77], r15b
mov r15, rdx
mov rdx, rbx
mov r8, r13
call fcn.1400fe8a0
mov rdx, r15
movzx r15d, byte [rsp + 0x77]
mov rbx, qword [rdi + 0x10]
jmp 0x1400f12b7
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, rdi
mov rsi, rdx
mov rdx, r12
mov r8, r15
call fcn.1400fe8a0
mov rdx, rsi
mov rsi, qword [rdi]
mov r12, qword [rdi + 0x10]
jmp 0x1400f11ac