Function at 0x140160e30
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, 0xf8
mov r14, r9
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r8, qword [rsp + 0x168]
movzx r12d, byte [rsp + 0x160]
mov eax, 0x2600
mov r13, rbx
jmp 0x140160e98
inc r13
cmp ecx, 0xd
ja 0x140160f40
mov r15d, 0x110000
bt eax, ecx
jae 0x140160f40
cmp r15d, 0x110000
jne 0x140160f50
mov r15d, 0x110000
cmp r13, r14
je 0x1401610f4
movzx ecx, byte [r13]
test cl, cl
jns 0x140160e70
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [r13 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x140160f0a
movzx r10d, byte [r13 + 2]
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
cmp cl, 0xf0
jb 0x140160f21
movzx ecx, byte [r13 + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, edx
cmp ecx, 0x110000
je 0x1401610f4
add r13, 4
cmp ecx, 0xd
jbe 0x140160e7c
jmp 0x140160f40
add r13, 2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0xd
jbe 0x140160e7c
jmp 0x140160f40
add r13, 3
shl edx, 0xc
or r10d, edx
mov ecx, r10d
cmp ecx, 0xd
jbe 0x140160e7c
nop word [rax + rax]
mov r15d, ecx
cmp r15d, 0x110000
je 0x140160e98
cmp r15d, 0x5c
je 0x140160f60
cmp r15d, 0x2f
jne 0x1401610f4
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140160f78
cmp r15d, 0x5c
jne 0x140160f78
mov rax, qword [rdi + 0x38]
xor edx, edx
call qword [rax + 0x28]
mov eax, 0x2600
mov rbp, r13
jmp 0x140160fb6
inc rbp
cmp ecx, 0xd
ja 0x140161050
mov edx, 0x110000
bt eax, ecx
jae 0x140161050
cmp edx, 0x110000
jne 0x14016105e
cmp rbp, r14
je 0x140161157
movzx ecx, byte [rbp]
test cl, cl
jns 0x140160f90
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [rbp + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14016101c
movzx r10d, byte [rbp + 2]
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
cmp cl, 0xf0
jb 0x140161033
movzx ecx, byte [rbp + 3]
and edx, 7
shl edx, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, edx
cmp ecx, 0x110000
je 0x140161157
add rbp, 4
cmp ecx, 0xd
jbe 0x140160f9c
jmp 0x140161050
add rbp, 2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0xd
jbe 0x140160f9c
jmp 0x140161050
add rbp, 3
shl edx, 0xc
or r10d, edx
mov ecx, r10d
cmp ecx, 0xd
jbe 0x140160f9c
nop dword [rax]
mov edx, ecx
cmp edx, 0x110000
je 0x140160fb6
cmp edx, 0x2f
je 0x14016106c
cmp edx, 0x5c
jne 0x140161157
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x140161083
cmp edx, 0x5c
jne 0x140161083
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 0x140161964
movabs r13, 0x8000000000000000
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.1401642d0
mov r14, qword [rsp + 0x70]
cmp r14, r13
jne 0x14016128a
movzx ebx, byte [rsp + 0x78]
mov byte [rsi + 8], bl
mov qword [rsi], r13
cmp qword [rdi], 0
jne 0x1401619ff
jmp 0x140161a11
test r8, r8
je 0x1401613bd
cmp r15d, 0x23
je 0x14016130e
cmp r15d, 0x3f
je 0x140161360
cmp r15d, 0x110000
jne 0x1401613a7
cmp dword [r8 + 0x20], 0
je 0x1401616e2
mov ebx, dword [r8 + 0x24]
mov r14, qword [r8 + 8]
test rbx, rbx
je 0x14016187d
mov rdx, qword [r8 + 0x10]
cmp rdx, rbx
jbe 0x140161888
cmp byte [r14 + rbx], 0xbf
jg 0x14016188e
jmp 0x140161f20
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
cmp rax, 6
jbe 0x140161936
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.140163f90
mov dword [rsp + 0xb8], 0
mov ebp, 7
mov rcx, qword [rsp + 0x168]
test rcx, rcx
je 0x1401617b5
test al, al
jne 0x1401617b5
mov qword [rsp + 0x68], rbx
call fcn.14015c470
test rdx, rdx
je 0x140161ec7
mov rbx, rax
cmp byte [rax], 0x2f
jne 0x140161ec7
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 + 0xc8]
mov rdx, rax
call fcn.14015b8a0
cmp qword [rsp + 0xc8], 0
je 0x14016147e
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
add rbx, rcx
sub rax, rcx
mov rcx, qword [rsp + 0x168]
cmp rax, 2
je 0x1401614c2
jmp 0x140161533
mov r12, qword [rsp + 0x78]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xb8], rax
mov rbx, qword [rsp + 0x98]
mov r15b, 1
test r8, r8
je 0x140161c7d
lea rcx, [rsp + 0x70]
mov rdx, r12
call fcn.14015a770
mov rax, qword [rsp + 0x70]
lea rbp, [r13 + 2]
cmp rax, rbp
jne 0x1401615c9
movzx ebx, byte [rsp + 0x78]
test r14, r14
je 0x1401610df
mov rcx, qword [0x140222380]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
mov byte [rsi + 8], bl
mov qword [rsi], r13
cmp qword [rdi], 0
jne 0x1401619ff
jmp 0x140161a11
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, rbx
call fcn.140162de0
jmp 0x140161a11
cmp dword [r8 + 0x18], 0
mov qword [rsp + 0x68], rbx
je 0x1401616ef
lea rax, [r8 + 0x1c]
mov r9d, dword [rax]
mov rbx, qword [r8 + 8]
test r9, r9
je 0x14016170e
mov r13, qword [r8 + 0x10]
cmp r13, r9
jbe 0x140161720
cmp byte [rbx + r9], 0xbf
jle 0x140161a74
mov ebp, r12d
mov r13, r9
jmp 0x140161986
mov rbp, r8
mov rcx, rbx
mov rdx, r14
call fcn.140163f90
test al, al
je 0x140161585
mov rax, qword [rdi]
mov rdx, qword [rdi + 0x10]
sub rax, rdx
cmp rax, 7
jbe 0x14016194d
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], rbx
lea r8, [rsp + 0x70]
mov r9d, 7
mov rcx, rdi
xor edx, edx
call fcn.14015f3d0
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.1401636f0
mov eax, dword [rsp + 0x70]
cmp eax, 2
je 0x1401619e4
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 [0x140173ce0]
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], 7
mov byte [rsi + 0x40], 0
jmp 0x140161a11
cmp byte [rsp + 0xb1], 0
mov rcx, qword [rsp + 0x168]
jne 0x140161edf
cmp byte [rsp + 0xb0], 0
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
jne 0x1401614b1
cmp rax, rbx
je 0x140161edf
sub rax, rbx
add rbx, qword [rsp + 0x80]
cmp rax, 2
jne 0x140161533
movzx eax, byte [rbx]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x140161533
cmp byte [rbx + 1], 0x3a
jne 0x140161533
mov rdx, qword [rdi + 0x10]
cmp rdx, qword [rdi]
jne 0x1401614e8
mov rcx, rdi
call fcn.14010f270
mov rdx, qword [rdi + 0x10]
movzx r12d, byte [rsp + 0x160]
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 0x140161eb0
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 + 0xb8], 0
jmp 0x1401617b0
movzx eax, byte [rcx + 0x40]
test al, al
je 0x140161575
mov r8d, dword [rcx + 0x34]
mov ebx, dword [rcx + 0x38]
mov r12, qword [rcx + 8]
mov rdx, qword [rcx + 0x10]
cmp r8d, ebx
ja 0x140161741
test r8, r8
je 0x140161730
cmp rdx, r8
jbe 0x14016172e
cmp byte [r12 + r8], 0xc0
jge 0x140161730
jmp 0x140161741
mov dword [rsp + 0xb8], 0
jmp 0x1401617a7
mov rcx, rbp
cmp dword [rbp + 0x18], 0
je 0x140161909
mov r15, rbx
lea rax, [rcx + 0x1c]
mov r9d, dword [rax]
mov rbx, qword [rcx + 8]
test r9, r9
je 0x14016192a
mov r13, qword [rcx + 0x10]
cmp r13, r9
jbe 0x140161a6e
cmp byte [rbx + r9], 0xbf
jle 0x140161a74
mov r13, r9
jmp 0x140161af6
mov r8, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x80]
lea rdx, [r13 + 1]
cmp rax, rdx
jle 0x140161609
cmp rcx, 9
jne 0x140161609
movabs rdx, 0x736f686c61636f6c
xor rdx, qword [r8]
movzx r9d, byte [r8 + 8]
xor r9, 0x74
mov ecx, 9
or r9, rdx
je 0x140161c66
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xd0], r8
mov qword [rsp + 0xd8], rcx
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xe0], rax
lea rax, [0x140164820]
mov qword [rsp + 0xe8], rax
lea rax, [0x14020c840]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x90], 0
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
lea rdx, [0x14020c3d0]
lea r8, [rsp + 0x70]
mov rcx, rdi
call fcn.140036ab0
test al, al
jne 0x140161ef7
mov rax, qword [rsp + 0xc8]
mov r15, qword [rsp + 0xd0]
mov r8, qword [rsp + 0xd8]
xor ecx, ecx
cmp rax, rbp
lea rdx, [r13 + rax + 1]
cmovl rcx, rdx
test rcx, rcx
je 0x140161a8e
cmp rcx, 1
jne 0x140161a9f
mov bpl, 2
mov qword [rsp + 0xc0], rcx
jmp 0x140161ab1
mov r14, qword [r8 + 8]
mov rbx, qword [r8 + 0x10]
jmp 0x14016188e
cmp dword [r8 + 0x20], 0
je 0x14016197b
lea rax, [r8 + 0x24]
mov r9d, dword [rax]
mov rbx, qword [r8 + 8]
test r9, r9
jne 0x140161384
mov r15, r8
mov ebp, r12d
mov r12, qword [rdi + 0x10]
xor r13d, r13d
jmp 0x14016199c
jne 0x140161a74
mov ebp, r12d
jmp 0x140161986
jne 0x140161741
test rbx, rbx
je 0x14016175a
cmp rdx, rbx
jbe 0x140161758
cmp byte [r12 + rbx], 0xbf
jg 0x14016175a
lea rax, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.4.1_src_lib.rs
mov qword [rsp + 0x20], rax
mov rcx, r12
mov r9, rbx
call fcn.14003dfc0
jne 0x140161741
mov dword [rsp + 0xb8], eax
add r12, r8
sub rbx, r8
mov rax, qword [rdi]
mov rbp, qword [rdi + 0x10]
sub rax, rbp
cmp rax, rbx
jb 0x140161c38
mov rcx, qword [rdi + 8]
add rcx, rbp
mov rdx, r12
mov r8, rbx
call sub.msvcrt.dll_memcpy
add rbp, rbx
mov qword [rdi + 0x10], rbp
mov rax, qword [rsp + 0x168]
movups xmm0, xmmword [rax + 0x41]
movaps xmmword [rsp + 0xe0], xmm0
movzx r12d, byte [rsp + 0x160]
mov rbx, qword [rsp + 0x68]
add r15d, 0xffffffdd
cmp r15d, 0x39
ja 0x1401617d2
movabs rax, 0x200000010001001
bt rax, r15
jae 0x1401617d2
mov r13, rbx
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.14015f3d0
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, r12d
mov r9d, 4
call fcn.1401636f0
mov eax, dword [rsp + 0x70]
cmp eax, 2
je 0x1401619e4
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 + 0xe0]
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 + 0xb8]
mov byte [rsi + 0x40], al
jmp 0x140161a11
mov r12, r8
mov r15, qword [rdi + 0x10]
xor ebx, ebx
jmp 0x1401618a4
jne 0x140161f20
mov r12, r8
mov rax, qword [rdi]
mov r15, qword [rdi + 0x10]
sub rax, r15
cmp rax, rbx
jb 0x140161c4f
mov rcx, qword [rdi + 8]
add rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.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 0x140161a11
cmp dword [rcx + 0x20], 0
je 0x140161aeb
mov r15, rbx
lea rax, [rcx + 0x24]
mov r9d, dword [rax]
mov rbx, qword [rcx + 8]
test r9, r9
jne 0x1401615a9
mov r12, qword [rdi + 0x10]
xor r13d, r13d
jmp 0x140161b09
mov r8d, 7
mov rcx, rdi
call fcn.14014c280
mov rdx, qword [rdi + 0x10]
jmp 0x14016116b
mov r8d, 8
mov rcx, rdi
call fcn.14014c280
mov rdx, qword [rdi + 0x10]
jmp 0x1401613d1
mov r8d, 7
mov rcx, rdi
call fcn.14014c280
mov rdx, qword [rdi + 0x10]
jmp 0x140161097
mov ebp, r12d
mov rbx, qword [r8 + 8]
mov r13, qword [r8 + 0x10]
mov r15, r8
mov rax, qword [rdi]
mov r12, qword [rdi + 0x10]
sub rax, r12
cmp rax, r13
jb 0x140161e82
mov rcx, qword [rdi + 8]
add rcx, r12
mov rdx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
add r12, r13
mov qword [rdi + 0x10], r12
mov ebx, dword [r15 + 0x2c]
mov qword [rsp + 0x28], r14
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x70]
mov rdx, rdi
mov r8d, ebp
mov r9d, ebx
call fcn.1401636f0
mov eax, dword [rsp + 0x70]
cmp eax, 2
jne 0x140161a26
movzx eax, byte [rsp + 0x74]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp qword [rdi], 0
je 0x140161a11
mov r8, qword [rdi + 8]
mov rcx, qword [0x140222380]
xor edx, edx
call sub.kernel32.dll_HeapFree
nop
add rsp, 0xf8
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
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rsi + 0x40], xmm0
movzx r8d, byte [r15 + 0x50]
mov byte [rsi + 0x50], r8b
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
mov eax, dword [r15 + 0x28]
mov dword [rsi + 0x28], eax
mov dword [rsi + 0x2c], ebx
movups xmm0, xmmword [r15 + 0x30]
movups xmmword [rsi + 0x30], xmm0
jmp 0x140161a11
je 0x140161af6
lea rax, str._home_drados_.cargo_registry_src_index.crates.io_6f17d22bba15001f_url_2.4.1_src_lib.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r13
xor r8d, r8d
call fcn.14003dfc0
test r8, r8
setne bpl
mov qword [rsp + 0xc0], rcx
jmp 0x140161ab1
mov rcx, r15
shr rcx, 0x20
mov qword [rsp + 0xc0], rcx
mov bpl, 3
mov qword [rsp + 0xf0], r8
movabs rcx, 0x8000000000000002
cmp rax, rcx
jl 0x140161ade
test rax, rax
je 0x140161ade
mov rcx, qword [0x140222380]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
mov qword [rsp + 0x68], r15
xor r15d, r15d
jmp 0x140161c8c
mov r15, rbx
mov rbx, qword [rcx + 8]
mov r13, qword [rcx + 0x10]
mov rax, qword [rdi]
mov r12, qword [rdi + 0x10]
sub rax, r12
cmp rax, r13
jb 0x140161e99
mov rcx, qword [rdi + 8]
add rcx, r12
mov rdx, rbx
mov r8, r13
call sub.msvcrt.dll_memcpy
add r12, r13
mov qword [rdi + 0x10], r12
mov ebx, dword [rbp + 0x3c]
cmp r12, rbx
je 0x140161b84
mov rcx, qword [rdi + 8]
test rbx, rbx
je 0x140161b5b
mov rax, r12
sub rax, rbx
jbe 0x140161b41
cmp byte [rcx + rbx], 0xbf
jg 0x140161b5e
lea rax, [0x14020cc58]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov r8, rbx
mov r9, r12
call fcn.14003dfc0
mov rax, r12
cmp rax, 2
jne 0x140161b77
movzx eax, byte [rcx + rbx]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x140161b77
cmp byte [rcx + rbx + 1], 0x3a
je 0x140161b84
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.140163d20
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.14015f3d0
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.140160950
jmp 0x140161a11
mov rcx, rdi
mov rdx, rbp
mov r8, rbx
call fcn.14014c280
mov rbp, qword [rdi + 0x10]
jmp 0x14016177a
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.14014c280
mov r15, qword [rdi + 0x10]
jmp 0x1401618a4
test rax, rax
je 0x140161c7d
mov rcx, qword [0x140222380]
xor ebp, ebp
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140161c7f
xor ebp, ebp
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x68], rax
test r14, r14
je 0x140161ca2
mov rcx, qword [0x140222380]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
mov r12, qword [rdi + 0x10]
mov rax, r12
shr rax, 0x20
jne 0x140161d0e
test bpl, bpl
setne byte [rsp + 0xc8]
test r15b, r15b
je 0x140161d24
mov rax, r12
cmp r12, qword [rdi]
jne 0x140161cd6
mov rcx, rdi
mov rdx, r12
call fcn.14010f270
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov byte [rcx + rax], 0x2f
inc rax
mov qword [rdi + 0x10], rax
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xc8]
mov rcx, rdi
xor edx, edx
mov r9, r12
call fcn.14015f3d0
jmp 0x140161d43
mov byte [rsi + 8], 9
mov qword [rsi], r13
cmp qword [rdi], 0
jne 0x1401619ff
jmp 0x140161a11
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0xc8]
mov rcx, rdi
xor edx, edx
mov r9, qword [rsp + 0xb8]
call fcn.140165130
mov rbx, rax
mov r15, rdx
cmp byte [rsp + 0xc8], 0
jne 0x140161dcd
cmp r12, 7
jb 0x140161f3a
mov rdx, qword [rdi + 0x10]
cmp rdx, r12
jb 0x140161f4e
mov rax, qword [rdi + 8]
cmp rdx, 8
jb 0x140161d7e
cmp byte [rax + 7], 0xbf
jle 0x140161f5d
cmp rdx, r12
jbe 0x140161d8e
cmp byte [rax + r12], 0xbf
jle 0x140161f75
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.140031ff0
mov r12d, 7
xor ebp, ebp
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rbx
lea rcx, [rsp + 0x70]
mov rdx, rdi
movzx r8d, byte [rsp + 0x160]
mov r9d, 4
call fcn.1401636f0
mov eax, dword [rsp + 0x70]
cmp eax, 2
jne 0x140161e16
movzx eax, byte [rsp + 0x74]
mov byte [rsi + 8], al
mov qword [rsi], r13
cmp qword [rdi], 0
jne 0x1401619ff
jmp 0x140161a11
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], bpl
mov rax, qword [rsp + 0x68]
mov dword [rsi + 0x41], eax
mov rax, qword [rsp + 0xc0]
mov dword [rsi + 0x45], eax
mov rax, qword [rsp + 0xf0]
mov qword [rsi + 0x49], rax
jmp 0x140161a11
mov rcx, rdi
mov rdx, r12
mov r8, r13
call fcn.14014c280
mov r12, qword [rdi + 0x10]
jmp 0x14016199c
mov rcx, rdi
mov rdx, r12
mov r8, r13
call fcn.14014c280
mov r12, qword [rdi + 0x10]
jmp 0x140161b09
mov r8d, 2
mov rcx, rdi
call fcn.14014c280
mov rdx, qword [rdi + 0x10]
jmp 0x140161510
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14020ca78]
mov edx, 0x2b
call fcn.140036810
lea rcx, str.called__Option::unwrap____on_a__None__value
lea r8, [0x14020ca90]
mov edx, 0x2b
call fcn.140036810
lea rax, [0x14020cb68]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14020c4c0]
lea r8, [rsp + 0x70]
mov edx, 0x2b
call fcn.14003bb10
lea rax, [0x14020c9e8]
mov qword [rsp + 0x20], rax
mov rcx, r14
xor r8d, r8d
mov r9, rbx
call fcn.14003dfc0
lea r8, [0x14020c630]
mov ecx, 7
mov rdx, r12
call fcn.14003a6d0
lea r8, [0x14020c630]
mov rcx, r12
call fcn.140035fd0
lea rcx, str.assertion_failed:_self.is_char_boundary_start_
lea r8, [0x14020c678]
mov edx, 0x2e
call fcn.140036810
lea rcx, str.assertion_failed:_self.is_char_boundary_end_
lea r8, [0x14020c6c0]
mov edx, 0x2c
call fcn.140036810
int3