Function at 0x1401b58b0
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 r14, r9
mov r12, r8
mov rdi, rdx
mov rsi, rcx
mov r8, qword [rsp + 0x178]
movzx ebx, byte [rsp + 0x170]
mov eax, 0x2600
mov r13, r12
jmp 0x1401b5900
mov r15d, ecx
cmp r15d, 0x110000
jne 0x1401b59d4
mov r15d, 0x110000
cmp r13, r14
je 0x1401b5af3
movzx r9d, byte [r13]
movzx ecx, r9b
test cl, cl
js 0x1401b5930
inc r13
cmp ecx, 0xd
jbe 0x1401b59c0
jmp 0x1401b58f0
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [r13 + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1401b598a
movzx r11d, byte [r13 + 2]
shl r10d, 6
and r11d, 0x3f
or r11d, r10d
cmp r9b, 0xf0
jb 0x1401b59a0
movzx ecx, byte [r13 + 3]
and edx, 7
shl edx, 0x12
shl r11d, 6
and ecx, 0x3f
or ecx, r11d
or ecx, edx
cmp ecx, 0x110000
je 0x1401b5af3
add r13, 4
cmp ecx, 0xd
jbe 0x1401b59c0
jmp 0x1401b58f0
add r13, 2
shl edx, 6
or edx, r10d
mov ecx, edx
cmp ecx, 0xd
jbe 0x1401b59c0
jmp 0x1401b58f0
add r13, 3
shl edx, 0xc
or r11d, edx
mov ecx, r11d
cmp ecx, 0xd
ja 0x1401b58f0
nop word cs:[rax + rax]
mov r15d, 0x110000
bt eax, ecx
jb 0x1401b58f3
jmp 0x1401b58f0
cmp r15d, 0x5c
je 0x1401b59e4
cmp r15d, 0x2f
jne 0x1401b5af3
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1401b59fc
cmp r15d, 0x5c
jne 0x1401b59fc
mov rax, qword [rdi + 0x38]
xor edx, edx
call qword [rax + 0x28]
mov eax, 0x2600
mov rbp, r13
jmp 0x1401b5a1e
mov edx, ecx
cmp edx, 0x110000
jne 0x1401b5b56
cmp rbp, r14
je 0x1401b5bdb
movzx r9d, byte [rbp]
movzx ecx, r9b
test cl, cl
js 0x1401b5a50
inc rbp
cmp ecx, 0xd
jbe 0x1401b5ae0
jmp 0x1401b5a10
mov edx, ecx
and edx, 0x1f
movzx r10d, byte [rbp + 1]
and r10d, 0x3f
cmp cl, 0xdf
jbe 0x1401b5aa9
movzx r11d, byte [rbp + 2]
shl r10d, 6
and r11d, 0x3f
or r11d, r10d
cmp r9b, 0xf0
jb 0x1401b5abf
movzx ecx, byte [rbp + 3]
and edx, 7
shl edx, 0x12
shl r11d, 6
and ecx, 0x3f
or ecx, r11d
or ecx, edx
cmp ecx, 0x110000
je 0x1401b5bdb
add rbp, 4
cmp ecx, 0xd
jbe 0x1401b5ae0
jmp 0x1401b5a10
add rbp, 2
shl edx, 6
or edx, r10d
mov ecx, edx
cmp ecx, 0xd
jbe 0x1401b5ae0
jmp 0x1401b5a10
add rbp, 3
shl edx, 0xc
or r11d, edx
mov ecx, r11d
cmp ecx, 0xd
ja 0x1401b5a10
nop word cs:[rax + rax]
mov edx, 0x110000
bt eax, ecx
jb 0x1401b5a12
jmp 0x1401b5a10
test r8, r8
je 0x1401b5e0c
cmp r15d, 0x23
je 0x1401b5d8e
cmp r15d, 0x3f
je 0x1401b5de0
cmp r15d, 0x110000
jne 0x1401b5df6
cmp dword [r8 + 0x20], 0
je 0x1401b613f
mov ebx, dword [r8 + 0x24]
mov r14, qword [r8 + 8]
test rbx, rbx
je 0x1401b62eb
mov rdx, qword [r8 + 0x10]
cmp rdx, rbx
jbe 0x1401b62ef
cmp byte [r14 + rbx], 0xbf
jg 0x1401b62f5
jmp 0x1401b69b9
cmp edx, 0x2f
je 0x1401b5b60
cmp edx, 0x5c
jne 0x1401b5bdb
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1401b5b77
cmp edx, 0x5c
jne 0x1401b5b77
mov rax, qword [rdi + 0x38]
xor edx, edx
call qword [rax + 0x28]
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
cmp rax, 6
jbe 0x1401b63db
mov rax, qword [rdi + 8]
mov dword [rax + rdx + 3], 0x2f2f3a65
mov dword [rax + rdx], 0x656c6966
add rdx, 7
mov qword [rdi + 0x10], rdx
lea rcx, [rsp + 0x70]
mov rdx, rbp
mov r8, r14
call fcn.1401b8e10
mov r12, qword [rsp + 0x70]
movabs rbp, 0x8000000000000000
cmp r12, rbp
jne 0x1401b5d11
movzx ebx, byte [rsp + 0x78]
mov byte [rsi + 8], bl
jmp 0x1401b66ca
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
cmp rax, 6
jbe 0x1401b63ad
mov rax, qword [rdi + 8]
mov dword [rax + rdx + 3], 0x2f2f3a65
mov dword [rax + rdx], 0x656c6966
add rdx, 7
mov qword [rdi + 0x10], rdx
mov rcx, r13
mov rdx, r14
call fcn.1401bbc10
mov dword [rsp + 0xc0], 0
mov ebp, 7
mov rcx, qword [rsp + 0x178]
test rcx, rcx
je 0x1401b6223
test al, al
jne 0x1401b6223
call fcn.1401bd740
test rdx, rdx
je 0x1401b6960
mov rbx, rax
cmp byte [rax], 0x2f
jne 0x1401b6960
inc rbx
dec rdx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rdx
lea rax, [rsp + 0x80]
mov qword [rsp + 0x80], rbx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rdx
mov qword [rsp + 0xa0], 1
movabs rcx, 0x2f0000002f
mov qword [rsp + 0xa8], rcx
mov word [rsp + 0xb0], 1
lea rcx, [rsp + 0xd8]
mov rdx, rax
call fcn.1401b3300
cmp qword [rsp + 0xd8], 0
mov qword [rsp + 0xb8], r12
je 0x1401b5ecd
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x70]
add rbx, rcx
sub rax, rcx
mov rcx, qword [rsp + 0x178]
cmp rax, 2
je 0x1401b5f11
jmp 0x1401b5f89
mov r13, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov r14, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xc0], rax
mov r15b, 1
test r8, r8
je 0x1401b5fcb
lea rcx, [rsp + 0x70]
mov rdx, r13
call fcn.1401b3720
mov rdx, qword [rsp + 0x70]
movabs rbx, 0x8000000000000002
cmp rdx, rbx
jne 0x1401b601a
movzx ebx, byte [rsp + 0x78]
test r12, r12
je 0x1401b5bd3
mov r8d, 1
mov rcx, r13
mov rdx, r12
call fcn.140020a10
mov byte [rsi + 8], bl
jmp 0x1401b66ca
mov rax, qword [rdi + 0x40]
mov qword [rsp + 0xb0], rax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x20], r14
lea rdx, [rsp + 0x70]
mov rcx, rsi
mov r9, r12
call fcn.1401bb400
jmp 0x1401b66e4
cmp dword [r8 + 0x18], 0
je 0x1401b614c
mov ebp, ebx
lea rax, [r8 + 0x1c]
jmp 0x1401b615d
mov rbp, r8
mov rcx, r12
mov rdx, r14
call fcn.1401bbc10
test al, al
je 0x1401b6004
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
cmp rax, 7
jbe 0x1401b63c4
mov rax, qword [rdi + 8]
movabs rcx, 0x2f2f2f3a656c6966
mov qword [rax + rdx], rcx
add rdx, 8
mov qword [rdi + 0x10], rdx
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r12
lea r8, [rsp + 0x70]
mov r9d, 7
mov rcx, rdi
xor edx, edx
call fcn.1401b9570
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
mov rdx, rdi
xor r8d, r8d
mov r9d, 4
call fcn.1401bae40
mov eax, dword [rsp + 0x70]
cmp eax, 2
je 0x1401b6466
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x74]
mov r8, qword [rdi + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
mov word [rsi + 0x28], 0
movaps xmm0, xmmword [0x140410570]
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], 7
mov byte [rsi + 0x40], 0
jmp 0x1401b66e4
cmp byte [rsp + 0xb1], 0
mov rcx, qword [rsp + 0x178]
jne 0x1401b6978
cmp byte [rsp + 0xb0], 0
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
jne 0x1401b5f00
cmp rax, rbx
je 0x1401b6978
sub rax, rbx
add rbx, qword [rsp + 0x80]
cmp rax, 2
jne 0x1401b5f89
movzx eax, byte [rbx]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x1401b5f89
cmp byte [rbx + 1], 0x3a
jne 0x1401b5f89
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x1401b5f37
mov rcx, rdi
call fcn.14000af00
mov rdx, qword [rdi + 0x10]
mov r12, qword [rsp + 0xb8]
mov rax, qword [rdi + 8]
mov byte [rax + rdx], 0x2f
inc rdx
mov qword [rdi + 0x10], rdx
mov rax, qword [rdi]
sub rax, rdx
cmp rax, 1
jbe 0x1401b6949
mov rax, qword [rdi + 8]
movzx ecx, word [rbx]
mov word [rax + rdx], cx
add rdx, 2
mov qword [rdi + 0x10], rdx
mov dword [rsp + 0xc0], 0
movzx ebx, byte [rsp + 0x170]
jmp 0x1401b6223
movzx eax, byte [rcx + 0x40]
test al, al
je 0x1401b5ff4
mov r8d, dword [rcx + 0x34]
mov ebx, dword [rcx + 0x38]
mov r12, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
cmp r8d, ebx
ja 0x1401b61ad
test r8d, r8d
je 0x1401b619d
cmp rdx, r8
jbe 0x1401b619b
cmp byte [r12 + r8], 0xc0
jge 0x1401b619d
jmp 0x1401b61ad
mov qword [rsp + 0xb8], r14
xor r14d, r14d
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
test r12, r12
jne 0x1401b6556
jmp 0x1401b6567
mov dword [rsp + 0xc0], 0
jmp 0x1401b6213
mov rcx, rbp
cmp dword [rbp + 0x18], 0
je 0x1401b6370
lea rax, [rcx + 0x1c]
jmp 0x1401b637e
mov qword [rsp + 0xb8], r14
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
movabs r14, 0x8000000000000001
cmp rdx, r14
jle 0x1401b6068
cmp rax, 9
jne 0x1401b6068
movabs r8, 0x736f686c61636f6c
xor r8, qword [rcx]
movzx r9d, byte [rcx + 8]
xor r9, 0x74
mov eax, 9
or r9, r8
je 0x1401b68f9
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xf0], rax
lea rax, [0x1401b4330]
mov qword [rsp + 0xf8], rax
lea rax, str.invalid_length__for_target_of_length
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rdx, [0x1404106c0]
lea r8, [rsp + 0x70]
mov rcx, rdi
call fcn.1401f53e0
test al, al
jne 0x1401b6990
mov rdx, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
add r14, rdx
xor eax, eax
cmp rdx, rbx
cmovl rax, r14
test rax, rax
je 0x1401b64fb
cmp rax, 1
jne 0x1401b650c
mov r14b, 2
mov qword [rsp + 0xc8], rax
jmp 0x1401b651e
mov r14, qword [r8 + 8]
mov rbx, qword [r8 + 0x10]
jmp 0x1401b62f5
cmp dword [r8 + 0x20], 0
je 0x1401b63fa
mov ebp, ebx
lea rax, [r8 + 0x24]
mov r15, r12
mov r9d, dword [rax]
mov rbx, qword [r8 + 8]
test r9, r9
je 0x1401b6188
mov r12, qword [r8 + 0x10]
cmp r12, r9
jbe 0x1401b6190
cmp byte [rbx + r9], 0xbf
jle 0x1401b64e1
mov r12, r9
jmp 0x1401b6407
xor r12d, r12d
jmp 0x1401b6407
je 0x1401b6407
jmp 0x1401b64e1
jne 0x1401b61ad
test ebx, ebx
je 0x1401b61c6
cmp rdx, rbx
jbe 0x1401b61c4
cmp byte [r12 + rbx], 0xbf
jg 0x1401b61c6
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.5.0_srclib.rs
mov qword [rsp + 0x20], rax
mov rcx, r12
mov r9, rbx
call fcn.140345af0
jne 0x1401b61ad
mov dword [rsp + 0xc0], eax
add r12, r8
sub rbx, r8
mov rax, qword [rdi]
mov rbp, qword [rdi + 0x10]
sub rax, rbp
cmp rax, rbx
jb 0x1401b68e2
mov rcx, qword [rdi + 8]
add rcx, rbp
mov rdx, r12
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbp, rbx
mov qword [rdi + 0x10], rbp
mov rax, qword [rsp + 0x178]
movups xmm0, xmmword [rax + 0x41]
movaps xmmword [rsp + 0xf0], xmm0
movzx ebx, byte [rsp + 0x170]
mov r12, qword [rsp + 0xb8]
add r15d, 0xffffffdd
cmp r15d, 0x39
ja 0x1401b6240
movabs rax, 0x200000010001001
bt rax, r15
jae 0x1401b6240
mov r13, r12
mov byte [rsp + 0x70], 0
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x70]
mov rcx, rdi
xor edx, edx
mov r9, rbp
call fcn.1401b9570
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, ebx
mov r9d, 4
call fcn.1401bae40
mov eax, dword [rsp + 0x70]
cmp eax, 2
je 0x1401b6466
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x74]
mov r8, qword [rdi + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [rsi + 0x41], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
mov word [rsi + 0x28], 0
movabs rax, 0x700000004
mov qword [rsi + 0x2c], rax
mov dword [rsi + 0x34], 7
mov dword [rsi + 0x38], ebp
mov dword [rsi + 0x3c], ebp
mov eax, dword [rsp + 0xc0]
mov byte [rsi + 0x40], al
jmp 0x1401b66e4
xor ebx, ebx
jmp 0x1401b62f5
jne 0x1401b69b9
mov r12, r8
mov rax, qword [rdi]
mov r15, qword [rdi + 0x10]
sub rax, r15
cmp rax, rbx
jb 0x1401b68b4
mov rcx, qword [rdi + 8]
add rcx, r15
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add r15, rbx
mov qword [rdi + 0x10], r15
mov qword [rsi + 0x10], r15
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
movzx eax, byte [r12 + 0x50]
mov byte [rsi + 0x50], al
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov eax, dword [r12 + 0x3c]
mov rcx, qword [r12 + 0x18]
mov qword [rsi + 0x18], rcx
mov dword [rsi + 0x20], 0
mov ecx, dword [r12 + 0x28]
mov dword [rsi + 0x28], ecx
movups xmm0, xmmword [r12 + 0x2c]
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], eax
jmp 0x1401b66e4
cmp dword [rcx + 0x20], 0
je 0x1401b6768
lea rax, [rcx + 0x24]
mov r15, r12
mov r9d, dword [rax]
mov rbx, qword [rcx + 8]
test r9, r9
je 0x1401b63f2
mov r12, qword [rcx + 0x10]
cmp r12, r9
jbe 0x1401b64db
cmp byte [rbx + r9], 0xbf
jle 0x1401b64e1
mov r12, r9
jmp 0x1401b6773
mov r8d, 7
mov rcx, rdi
call fcn.14033a8b0
mov rdx, qword [rdi + 0x10]
jmp 0x1401b5bef
mov r8d, 8
mov rcx, rdi
call fcn.14033a8b0
mov rdx, qword [rdi + 0x10]
jmp 0x1401b5e20
mov r8d, 7
mov rcx, rdi
call fcn.14033a8b0
mov rdx, qword [rdi + 0x10]
jmp 0x1401b5b8b
xor r12d, r12d
jmp 0x1401b6773
mov r15, r12
mov ebp, ebx
mov rbx, qword [r8 + 8]
mov r12, qword [r8 + 0x10]
mov rax, qword [rdi]
mov r13, qword [rdi + 0x10]
sub rax, r13
cmp rax, r12
jb 0x1401b68cb
mov rcx, qword [rdi + 8]
add rcx, r13
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r13, r12
mov qword [rdi + 0x10], r13
mov r12, qword [rsp + 0x178]
mov ebx, dword [r12 + 0x2c]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, ebp
mov r9d, ebx
call fcn.1401bae40
mov eax, dword [rsp + 0x70]
cmp eax, 2
jne 0x1401b648c
movzx eax, byte [rsp + 0x74]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rdx, qword [rdi]
test rdx, rdx
jne 0x1401b66d5
jmp 0x1401b66e4
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x74]
mov r8, qword [rdi + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rsi + 0x40], xmm0
movzx r8d, byte [r12 + 0x50]
mov byte [rsi + 0x50], r8b
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
mov eax, dword [r12 + 0x28]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], ebx
movups xmm0, xmmword [r12 + 0x30]
movups xmmword [rsi + 0x30], xmm0
jmp 0x1401b66e4
je 0x1401b6773
lea rax, str.C:Users_akita.cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.5.0_srclib.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r12
xor r8d, r8d
call fcn.140345af0
test rcx, rcx
setne r14b
mov qword [rsp + 0xc8], rax
jmp 0x1401b651e
mov rax, r15
shr rax, 0x20
mov qword [rsp + 0xc8], rax
mov r14b, 3
mov qword [rsp + 0x100], rcx
cmp rdx, rbx
jl 0x1401b653e
test rdx, rdx
je 0x1401b653e
mov r8d, 1
mov rcx, r15
call fcn.140020a10
mov qword [rsp + 0xd0], r15
xor r15d, r15d
movzx ebx, byte [rsp + 0x170]
test r12, r12
je 0x1401b6567
mov r8d, 1
mov rcx, r13
mov rdx, r12
call fcn.140020a10
mov r12, qword [rdi + 0x10]
mov rax, r12
shr rax, 0x20
jne 0x1401b65de
test r14b, r14b
setne byte [rsp + 0xd8]
mov r13d, ebx
test r15b, r15b
je 0x1401b65e7
mov rax, r12
cmp r12, qword [rdi]
jne 0x1401b659e
mov rcx, rdi
mov rdx, r12
call fcn.14000af00
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov byte [rcx + rax], 0x2f
inc rax
mov qword [rdi + 0x10], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xd8]
mov rcx, rdi
xor edx, edx
mov r9, r12
call fcn.1401b9570
jmp 0x1401b660e
mov byte [rsi + 8], 9
jmp 0x1401b66ca
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xd8]
mov rcx, rdi
xor edx, edx
mov r9, qword [rsp + 0xb8]
call fcn.1401b9350
mov rbx, rax
mov r15, rdx
cmp byte [rsp + 0xd8], 0
jne 0x1401b6699
cmp r12, 7
jb 0x1401b69d3
mov rdx, qword [rdi + 0x10]
cmp rdx, r12
jb 0x1401b69e7
mov rax, qword [rdi + 8]
cmp rdx, 8
jb 0x1401b6649
cmp byte [rax + 7], 0xbf
jle 0x1401b69f6
cmp rdx, r12
jbe 0x1401b6659
cmp byte [rax + r12], 0xbf
jle 0x1401b6a0e
lea rcx, [rax + 7]
add rax, r12
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x88], 7
mov qword [rsp + 0x90], r12
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
lea rcx, [rsp + 0x70]
call fcn.1401eda90
mov r12d, 7
xor r14d, r14d
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, r13d
mov r9d, 4
call fcn.1401bae40
mov eax, dword [rsp + 0x70]
cmp eax, 2
jne 0x1401b66f9
movzx eax, byte [rsp + 0x74]
mov byte [rsi + 8], al
mov qword [rsi], rbp
mov rdx, qword [rdi]
test rdx, rdx
je 0x1401b66e4
mov rcx, qword [rdi + 8]
mov r8d, 1
call fcn.140020a10
nop
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, dword [rsp + 0x7c]
mov rdx, qword [rsp + 0x74]
mov r8, qword [rdi + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
mov word [rsi + 0x28], 0
movabs rax, 0x700000004
mov qword [rsi + 0x2c], rax
mov dword [rsi + 0x34], 7
mov dword [rsi + 0x38], r12d
mov dword [rsi + 0x3c], r12d
mov byte [rsi + 0x40], r14b
mov rax, qword [rsp + 0xd0]
mov dword [rsi + 0x41], eax
mov rax, qword [rsp + 0xc8]
mov dword [rsi + 0x45], eax
mov rax, qword [rsp + 0x100]
mov qword [rsi + 0x49], rax
jmp 0x1401b66e4
mov r15, r12
mov rbx, qword [rcx + 8]
mov r12, qword [rcx + 0x10]
mov rax, qword [rdi]
mov r13, qword [rdi + 0x10]
sub rax, r13
cmp rax, r12
jb 0x1401b6932
mov rcx, qword [rdi + 8]
add rcx, r13
mov rdx, rbx
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
add r13, r12
mov qword [rdi + 0x10], r13
mov ebx, dword [rbp + 0x3c]
cmp r13, rbx
je 0x1401b6800
mov rcx, qword [rdi + 8]
test ebx, ebx
je 0x1401b67d7
mov rax, r13
sub rax, rbx
jbe 0x1401b67bd
cmp byte [rcx + rbx], 0xbf
jg 0x1401b67da
lea rax, [0x140410f98]
mov qword [rsp + 0x20], rax
mov rdx, r13
mov r8, rbx
mov r9, r13
call fcn.140345af0
mov rax, r13
cmp rax, 2
jne 0x1401b67f3
movzx eax, byte [rcx + rbx]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x1401b67f3
cmp byte [rcx + rbx + 1], 0x3a
je 0x1401b6800
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1401ba620
mov byte [rsp + 0x70], 1
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
lea r8, [rsp + 0x70]
mov rcx, rdi
xor edx, edx
mov r9, rbx
call fcn.1401b9570
mov rcx, qword [rdi + 0x40]
mov qword [rsp + 0xb0], rcx
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x30]
movaps xmmword [rsp + 0xa0], xmm3
movaps xmmword [rsp + 0x90], xmm2
movaps xmmword [rsp + 0x80], xmm1
movaps xmmword [rsp + 0x70], xmm0
mov r9d, dword [rbp + 0x2c]
mov ecx, dword [rbp + 0x30]
mov r8d, dword [rbp + 0x34]
mov r10d, dword [rbp + 0x38]
lea r11, [rbp + 0x40]
movzx edi, word [rbp + 0x28]
movzx ebp, word [rbp + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x48], bp
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ecx
lea rdx, [rsp + 0x70]
mov rcx, rsi
xor r8d, r8d
call fcn.1401ba9e0
jmp 0x1401b66e4
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.14033a8b0
mov r15, qword [rdi + 0x10]
jmp 0x1401b630b
mov rcx, rdi
mov rdx, r13
mov r8, r12
call fcn.14033a8b0
mov r13, qword [rdi + 0x10]
jmp 0x1401b641a
mov rcx, rdi
mov rdx, rbp
mov r8, rbx
call fcn.14033a8b0
mov rbp, qword [rdi + 0x10]
jmp 0x1401b61e6
test rdx, rdx
je 0x1401b6909
mov r8d, 1
call fcn.140020a10
xor r14d, r14d
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], rax
movzx ebx, byte [rsp + 0x170]
test r12, r12
jne 0x1401b6556
jmp 0x1401b6567
mov rcx, rdi
mov rdx, r13
mov r8, r12
call fcn.14033a8b0
mov r13, qword [rdi + 0x10]
jmp 0x1401b6786
mov r8d, 2
mov rcx, rdi
call fcn.14033a8b0
mov rdx, qword [rdi + 0x10]
jmp 0x1401b5f5e
lea rcx, [0x140410bc8]
lea r8, [0x140410df0]
mov edx, 0x2b
call fcn.140345400
lea rcx, [0x140410bc8]
lea r8, [0x140410e08]
mov edx, 0x2b
call fcn.140345400
lea rax, [0x140410ed0]
mov qword [rsp + 0x20], rax
lea rcx, [0x1404107d0]
lea r9, method..1.virtual_0
lea r8, [rsp + 0x70]
mov edx, 0x2b
call fcn.140345810
lea rax, [0x140410d68]
mov qword [rsp + 0x20], rax
mov rcx, r14
xor r8d, r8d
mov r9, rbx
call fcn.140345af0
lea r8, [0x140410920]
mov ecx, 7
mov rdx, r12
call fcn.1403459b0
lea r8, [0x140410920]
mov rcx, r12
call fcn.140345930
lea rcx, str.assertion_failed:_self.is_char_boundary_start_
lea r8, [0x140410968]
mov edx, 0x2e
call fcn.140345400
lea rcx, str.assertion_failed:_self.is_char_boundary_end_
lea r8, [0x1404109b0]
mov edx, 0x2c
call fcn.140345400
int3