Function at 0x14012d3d0
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 rbx, r9
mov r13, r8
mov rsi, rdx
mov r12, rcx
mov rbp, qword [rsp + 0x170]
mov eax, 0x2600
mov qword [rsp + 0x70], r8
jmp 0x14012d436
inc r13
cmp ecx, 0xd
ja 0x14012d4d0
mov edi, 0x110000
bt eax, ecx
jae 0x14012d4d0
cmp edi, 0x110000
jne 0x14012d4de
cmp r13, rbx
je 0x14012d79c
movzx ecx, byte [r13]
test cl, cl
jns 0x14012d410
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [r13 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14012d49e
movzx r8d, byte [r13 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x14012d4b5
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 0x14012d79c
add r13, 4
cmp ecx, 0xd
jbe 0x14012d41c
jmp 0x14012d4d0
add r13, 2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0xd
jbe 0x14012d41c
jmp 0x14012d4d0
add r13, 3
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0xd
jbe 0x14012d41c
nop dword [rax + rax]
mov edi, ecx
cmp edi, 0x110000
je 0x14012d436
cmp edi, 0x2f
je 0x14012d4ec
cmp edi, 0x5c
jne 0x14012d860
mov qword [rsp + 0xe8], r12
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14012d50b
cmp edi, 0x5c
jne 0x14012d50b
mov rax, qword [rsi + 0x38]
xor edx, edx
call qword [rax + 0x28]
mov eax, 0x2600
mov r14, r13
jmp 0x14012d546
inc r14
cmp ecx, 0xd
ja 0x14012d5e0
mov edx, 0x110000
bt eax, ecx
jae 0x14012d5e0
cmp edx, 0x110000
jne 0x14012d5ee
cmp r14, rbx
je 0x14012d7dd
movzx ecx, byte [r14]
test cl, cl
jns 0x14012d520
mov edx, ecx
and edx, 0x1f
movzx r9d, byte [r14 + 1]
and r9d, 0x3f
cmp cl, 0xdf
jbe 0x14012d5ad
movzx r8d, byte [r14 + 2]
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
cmp cl, 0xf0
jb 0x14012d5c4
movzx ecx, byte [r14 + 3]
and edx, 7
shl edx, 0x12
shl r8d, 6
and ecx, 0x3f
or ecx, r8d
or ecx, edx
cmp ecx, 0x110000
je 0x14012d7dd
add r14, 4
cmp ecx, 0xd
jbe 0x14012d52c
jmp 0x14012d5e0
add r14, 2
shl edx, 6
or edx, r9d
mov ecx, edx
cmp ecx, 0xd
jbe 0x14012d52c
jmp 0x14012d5e0
add r14, 3
shl edx, 0xc
or r8d, edx
mov ecx, r8d
cmp ecx, 0xd
jbe 0x14012d52c
nop word [rax + rax]
mov edx, ecx
cmp edx, 0x110000
je 0x14012d546
cmp edx, 0x5c
je 0x14012d5fc
cmp edx, 0x2f
jne 0x14012d7dd
mov rcx, qword [rsi + 0x30]
test rcx, rcx
je 0x14012d613
cmp edx, 0x5c
jne 0x14012d613
mov rax, qword [rsi + 0x38]
xor edx, edx
call qword [rax + 0x28]
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, 6
ja 0x14012d635
mov r8d, 7
mov rcx, rsi
call fcn.140054040
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
mov dword [rax + rdx + 3], 0x2f2f3a65
mov dword [rax + rdx], 0x656c6966
add rdx, 7
mov qword [rsi + 0x10], rdx
mov rax, rbx
sub rax, r14
je 0x14012db43
mov qword [rsp + 0x68], rax
xor ebp, ebp
mov eax, 0x2600
movabs rcx, 0x8000800800000000
xor r8d, r8d
xor r15d, r15d
mov rdx, r14
jmp 0x14012d6b2
inc rdx
mov r9d, r10d
mov r10d, 1
cmp r9d, 0x3f
ja 0x14012d73c
mov r11d, r9d
bt rax, r11
jae 0x14012d732
mov bpl, 1
add r15, r10
cmp rdx, rbx
je 0x14012d9ed
movzx r10d, byte [rdx]
test r10b, r10b
jns 0x14012d680
mov r9d, r10d
and r9d, 0x1f
movzx edi, byte [rdx + 1]
and edi, 0x3f
cmp r10b, 0xdf
jbe 0x14012d715
movzx r11d, byte [rdx + 2]
shl edi, 6
and r11d, 0x3f
or r11d, edi
cmp r10b, 0xf0
jb 0x14012d77f
movzx r10d, byte [rdx + 3]
add rdx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
mov r10d, 1
cmp r9d, 0x3f
jbe 0x14012d696
jmp 0x14012d73c
add rdx, 2
shl r9d, 6
or r9d, edi
mov r10d, 1
cmp r9d, 0x3f
jbe 0x14012d696
jmp 0x14012d73c
bt rcx, r11
jb 0x14012d9ed
cmp r9d, 0x5c
je 0x14012d9ed
inc r8
cmp r9d, 0x80
jb 0x14012d6a6
mov r10d, 2
cmp r9d, 0x800
jb 0x14012d6a6
cmp r9d, 0x10000
mov r10d, 4
sbb r10, 0
jmp 0x14012d6a6
add rdx, 3
shl r9d, 0xc
or r9d, r11d
mov r10d, 1
cmp r9d, 0x3f
jbe 0x14012d696
jmp 0x14012d73c
test rbp, rbp
je 0x14012d92f
cmp dword [rbp + 0x20], 0
je 0x14012db58
mov r15d, dword [rbp + 0x24]
mov r14, qword [rbp + 8]
test r15, r15
je 0x14012dbf5
mov rax, qword [rbp + 0x10]
cmp rax, r15
jbe 0x14012dc51
cmp byte [r14 + r15], 0xbf
jg 0x14012dc57
jmp 0x14012e93d
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, 6
ja 0x14012d7ff
mov r8d, 7
mov rcx, rsi
call fcn.140054040
mov rdx, qword [rsi + 0x10]
mov r14, qword [rsp + 0x170]
mov rax, qword [rsi + 8]
mov dword [rax + rdx + 3], 0x2f2f3a65
mov dword [rax + rdx], 0x656c6966
add rdx, 7
mov qword [rsi + 0x10], rdx
mov rcx, r13
mov rdx, rbx
call fcn.140131590
mov dword [rsp + 0x7c], 0
mov r12d, 7
test r14, r14
je 0x14012e577
test al, al
jne 0x14012e577
cmp dword [r14 + 0x18], 0
je 0x14012dbfe
lea rax, [r14 + 0x1c]
jmp 0x14012dc0d
test rbp, rbp
je 0x14012d92f
cmp edi, 0x23
je 0x14012dd95
cmp edi, 0x3f
je 0x14012dd57
cmp edi, 0x110000
je 0x14012d7a5
mov rcx, qword [rsp + 0x70]
mov rdx, rbx
call fcn.140131590
test al, al
je 0x14012e1ea
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, 7
ja 0x14012d8be
mov r8d, 8
mov rcx, rsi
call fcn.140054040
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
movabs rcx, 0x2f2f2f3a656c6966
mov qword [rax + rdx], rcx
add rdx, 8
mov qword [rsi + 0x10], rdx
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x80]
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.14012c230
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.140130290
jmp 0x14012d9bd
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
sub rax, rdx
cmp rax, 7
ja 0x14012d951
mov r8d, 8
mov rcx, rsi
call fcn.140054040
mov rdx, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
movabs rcx, 0x2f2f2f3a656c6966
mov qword [rax + rdx], rcx
add rdx, 8
mov qword [rsi + 0x10], rdx
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x80]
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.14012c230
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.140130290
mov eax, dword [rsp + 0x80]
cmp eax, 2
jne 0x14012daeb
movzx eax, byte [rsp + 0x84]
mov byte [r12 + 8], al
movabs rax, 0x8000000000000000
mov qword [r12], rax
jmp 0x14012e60a
mov qword [rsp + 0xd0], r14
mov qword [rsp + 0xd8], rbx
test bpl, 1
jne 0x14012db65
mov rax, r14
test r8, r8
je 0x14012dce5
mov ecx, 0x2600
mov rax, r14
cmp rax, rbx
je 0x14012dce2
dec r8
jmp 0x14012da53
add rax, 2
shl r9d, 6
or r9d, r11d
mov edx, r9d
nop word [rax + rax]
cmp edx, 0xd
ja 0x14012da62
bt ecx, edx
jae 0x14012da62
cmp rax, rbx
je 0x14012dce2
movzx edx, byte [rax]
test dl, dl
js 0x14012da70
inc rax
cmp edx, 0xd
jbe 0x14012da45
cmp edx, 0x110000
je 0x14012da4a
jmp 0x14012dadd
mov r9d, edx
and r9d, 0x1f
movzx r11d, byte [rax + 1]
and r11d, 0x3f
cmp dl, 0xdf
jbe 0x14012da29
movzx r10d, byte [rax + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp dl, 0xf0
jb 0x14012dac4
movzx edx, byte [rax + 3]
add rax, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and edx, 0x3f
or edx, r10d
or edx, r9d
cmp edx, 0x110000
jne 0x14012da40
jmp 0x14012dce5
add rax, 3
shl r9d, 0xc
or r10d, r9d
mov edx, r10d
cmp edx, 0xd
jbe 0x14012da45
jmp 0x14012da62
test r8, r8
jne 0x14012da1b
jmp 0x14012dce5
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rsi + 0x10]
mov qword [r12 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
mov dword [r12 + 0x18], eax
mov qword [r12 + 0x1c], rdx
mov dword [r12 + 0x24], ecx
mov word [r12 + 0x28], 0
movaps xmm0, xmmword [0x14013ca00]
movups xmmword [r12 + 0x2c], xmm0
mov dword [r12 + 0x3c], 7
mov byte [r12 + 0x40], 0
jmp 0x14012e694
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rbx
jmp 0x14012dd17
mov r14, qword [rbp + 8]
mov r15, qword [rbp + 0x10]
jmp 0x14012dc57
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0xd0]
call fcn.1401318d0
mov rdi, qword [rsp + 0x80]
mov r13, qword [rsp + 0x88]
mov r15, qword [rsp + 0x90]
test r15, r15
je 0x14012de34
cmp r15, 2
jne 0x14012dd2c
movzx eax, byte [r13]
and al, 0xdf
add al, 0xbf
mov edx, 2
cmp al, 0x19
ja 0x14012dd38
movzx eax, byte [r13 + 1]
cmp eax, 0x3a
je 0x14012dbce
cmp eax, 0x7c
jne 0x14012dd38
mov rax, rdi
xor r15d, r15d
mov dil, 1
test bpl, 1
je 0x14012dede
test rax, rax
je 0x14012dede
mov r12d, 1
jmp 0x14012de63
mov rbx, qword [rsi + 0x10]
xor r15d, r15d
jmp 0x14012dc78
cmp dword [r14 + 0x20], 0
je 0x14012e1fd
lea rax, [r14 + 0x24]
mov r15d, dword [rax]
mov rax, r14
mov ebp, dword [r14 + 0x3c]
mov r14, qword [r14 + 8]
mov rdx, qword [rax + 0x10]
lea rax, str.y2ufEyXydYB7Y0bvfU1FUo4JwUfpjbFzc5xoe9JMjm1eI7GNSmAl7Bt4CsoJk6okzbbhKy9VbfX82HRYLFiJ
cmp ebp, r15d
ja 0x14012de15
test rbp, rbp
je 0x14012ddf4
cmp rdx, rbp
jbe 0x14012ddf2
cmp byte [r14 + rbp], 0xbf
jg 0x14012ddf4
jmp 0x14012de15
jne 0x14012e93d
mov rax, qword [rsi]
mov rbx, qword [rsi + 0x10]
sub rax, rbx
cmp rax, r15
jae 0x14012dc78
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.140054040
mov rbx, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
add rcx, rbx
mov rdx, r14
mov r8, r15
call sub.msvcrt.dll_memcpy
add rbx, r15
mov qword [rsi + 0x10], rbx
mov qword [r12 + 0x10], rbx
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
movzx eax, byte [rbp + 0x50]
mov byte [r12 + 0x50], al
movups xmm0, xmmword [rbp + 0x40]
movups xmmword [r12 + 0x40], xmm0
mov eax, dword [rbp + 0x3c]
mov rcx, qword [rbp + 0x18]
mov qword [r12 + 0x18], rcx
mov dword [r12 + 0x20], 0
mov ecx, dword [rbp + 0x28]
mov dword [r12 + 0x28], ecx
movups xmm0, xmmword [rbp + 0x2c]
movups xmmword [r12 + 0x2c], xmm0
mov dword [r12 + 0x3c], eax
jmp 0x14012e694
mov rax, rbx
mov qword [rsp + 0xd0], rax
test r15, r15
je 0x14012dd17
lea rax, [0x140197698]
mov rcx, qword [rsp + 0x68]
cmp r15, rcx
jae 0x14012de1f
cmp byte [r14 + r15], 0xbf
jle 0x14012e957
jmp 0x14012de28
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
jmp 0x14012ded8
mov rdx, r15
test r15, r15
js 0x14012e95e
movzx eax, byte [0x1401ba120]
xor ecx, ecx
call fcn.14010f230
test rax, rax
je 0x14012e950
mov r12, rax
jmp 0x14012de3a
cmp dword [rbp + 0x18], 0
je 0x14012e23d
lea rax, [rbp + 0x1c]
mov r15d, dword [rax]
mov r14, qword [rbp + 8]
test r15, r15
je 0x14012e25b
mov rdi, qword [rbp + 0x10]
cmp rdi, r15
jbe 0x14012e2dd
cmp byte [r14 + r15], 0xbf
jle 0x14012e786
mov rdi, r15
jmp 0x14012e6b0
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], rbx
lea rdx, [rsp + 0x80]
mov rcx, r12
mov r8, rbp
mov r9, qword [rsp + 0x70]
call fcn.14012f920
jmp 0x14012e694
jne 0x14012de15
test r15, r15
je 0x14012e339
cmp rdx, r15
jbe 0x14012de0f
cmp byte [r14 + r15], 0xbf
jg 0x14012e339
jmp 0x14012de15
je 0x14012e339
mov qword [rsp + 0x68], rdx
jmp 0x14012e9fc
jne 0x14012e957
mov r15, rcx
mov r13, r14
test r15, r15
jne 0x14012db9b
mov r12d, 1
mov rcx, r12
mov rdx, r13
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r14, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
test bpl, 1
je 0x14012de74
test rdi, rdi
je 0x14012de74
mov rcx, qword [0x1401ba0e0]
xor edx, edx
mov r8, r13
call fcn.1401336c4
test r15, r15
je 0x14012ded8
lea rcx, [rsp + 0x80]
mov rdx, r12
mov r8, r15
call fcn.140127320
movabs rdi, 0x8000000000000000
mov rax, qword [rsp + 0x80]
lea rcx, [rdi + 2]
movzx ebp, byte [rsp + 0x88]
cmp rax, rcx
jne 0x14012e0a0
mov rcx, qword [0x1401ba0e0]
xor edx, edx
mov r8, r12
call fcn.1401336c4
mov rax, qword [rsp + 0xe8]
mov byte [rax + 8], bpl
mov qword [rax], rdi
jmp 0x14012e60a
mov dil, 1
xor r15d, r15d
mov qword [rsp + 0x70], rax
mov r12, qword [rsi + 0x10]
mov rax, r12
shr rax, 0x20
jne 0x14012e2cc
test r15b, r15b
setne byte [rsp + 0xd0]
test dil, dil
je 0x14012df44
cmp r12, qword [rsi]
jne 0x14012df11
mov rcx, rsi
call fcn.140053fa0
mov rax, qword [rsi + 8]
mov byte [rax + r12], 0x2f
lea rax, [r12 + 1]
mov qword [rsi + 0x10], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
lea r8, [rsp + 0xd0]
mov rcx, rsi
xor edx, edx
mov r9, r12
call fcn.14012c230
jmp 0x14012df5e
mov qword [rsp + 0x20], rbx
lea r8, [rsp + 0xd0]
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.140131350
cmp byte [rsp + 0xd0], 0
jne 0x14012dffc
cmp r12, 7
jb 0x14012e96d
mov r9, qword [rsi + 0x10]
cmp r9, r12
jb 0x14012e986
mov rcx, qword [rsi + 8]
cmp r9, 7
jbe 0x14012df97
cmp byte [rcx + 7], 0xbf
jle 0x14012e9c8
mov rdi, rdx
mov rbx, rax
cmp r9, r12
jbe 0x14012dfad
cmp byte [rcx + r12], 0xbf
jle 0x14012e9dd
lea rax, [rcx + 7]
add rcx, r12
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], 7
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], rcx
lea rcx, [rsp + 0x80]
call fcn.1400137d0
mov r12d, 7
xor r15d, r15d
mov rax, rbx
mov rdx, rdi
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.140130290
mov eax, dword [rsp + 0x80]
cmp eax, 2
je 0x14012e5ea
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsp + 0xe8]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r9], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rdx
mov dword [r9 + 0x24], ecx
mov word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], r12d
mov dword [r9 + 0x3c], r12d
mov byte [r9 + 0x40], r15b
mov dword [r9 + 0x41], r13d
mov rax, qword [rsp + 0x70]
mov dword [r9 + 0x45], eax
mov qword [r9 + 0x49], rbp
jmp 0x14012e694
movzx edx, bpl
movzx ecx, byte [rsp + 0x8f]
shl ecx, 0x10
movzx r9d, word [rsp + 0x8d]
or r9d, ecx
mov r8d, dword [rsp + 0x89]
mov rcx, qword [rsp + 0x90]
shl r9, 0x28
shl r8, 8
or r8, r9
or r8, rdx
lea rdx, [rdi + 1]
cmp rax, rdx
jle 0x14012e107
cmp rcx, 9
jne 0x14012e107
movabs rdx, 0x736f686c61636f6c
xor rdx, qword [r8]
movzx r9d, byte [r8 + 8]
xor r9, 0x74
or r9, rdx
je 0x14012e799
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], rcx
lea rax, [rsp + 0xd0]
mov qword [rsp + 0xf0], rax
lea rax, [0x140130b50]
mov qword [rsp + 0xf8], rax
lea rax, [0x140197d20]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 1
mov qword [rsp + 0xa0], 0
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
lea rdx, [0x140196f48]
lea r8, [rsp + 0x80]
mov rcx, rsi
call fcn.140018300
test al, al
jne 0x14012e99a
mov rax, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xe0]
lea rdx, [rdi + 2]
xor ecx, ecx
cmp rax, rdx
lea rdx, [rdi + rax + 1]
cmovl rcx, rdx
test rcx, rcx
je 0x14012e266
cmp rcx, 1
jne 0x14012e274
mov r15b, 2
mov qword [rsp + 0x70], rcx
jmp 0x14012e283
cmp dword [rbp + 0x18], 0
je 0x14012e2e8
lea rax, [rbp + 0x1c]
jmp 0x14012e2f6
mov rax, r14
mov ebp, dword [r14 + 0x3c]
mov r14, qword [r14 + 8]
mov rdx, qword [rax + 0x10]
test rbp, rbp
je 0x14012e336
lea rax, str.y2ufEyXydYB7Y0bvfU1FUo4JwUfpjbFzc5xoe9JMjm1eI7GNSmAl7Bt4CsoJk6okzbbhKy9VbfX82HRYLFiJ
cmp rdx, rbp
jbe 0x14012e330
cmp byte [r14 + rbp], 0xbf
jg 0x14012e336
mov qword [rsp + 0x68], rdx
mov r15, rdx
jmp 0x14012e9fc
cmp dword [rbp + 0x20], 0
je 0x14012e6a8
lea rax, [rbp + 0x24]
mov r15d, dword [rax]
mov r14, qword [rbp + 8]
test r15, r15
jne 0x14012dd75
mov r15, qword [rsi + 0x10]
xor edi, edi
jmp 0x14012e6d1
test rbp, rbp
setne r15b
mov qword [rsp + 0x70], rcx
jmp 0x14012e283
mov rcx, r13
shr rcx, 0x20
mov qword [rsp + 0x70], rcx
mov r15b, 3
movabs rcx, 0x8000000000000002
cmp rax, rcx
jl 0x14012e2a8
test rax, rax
je 0x14012e2a8
mov rcx, qword [0x1401ba0e0]
xor edx, edx
mov r8, r13
call fcn.1401336c4
xor edi, edi
mov rcx, qword [0x1401ba0e0]
xor edx, edx
mov r8, r12
call fcn.1401336c4
mov r12, qword [rsi + 0x10]
mov rax, r12
shr rax, 0x20
je 0x14012def4
mov rcx, qword [rsp + 0xe8]
mov byte [rcx + 8], 9
jmp 0x14012e5fd
je 0x14012e6b0
jmp 0x14012e786
cmp dword [rbp + 0x20], 0
je 0x14012e7bb
lea rax, [rbp + 0x24]
mov r15d, dword [rax]
mov r14, qword [rbp + 8]
test r15, r15
je 0x14012e322
mov rdi, qword [rbp + 0x10]
cmp rdi, r15
jbe 0x14012e784
cmp byte [r14 + r15], 0xbf
jle 0x14012e786
mov rdi, r15
jmp 0x14012e7c3
mov r13, r12
mov r15, qword [rsi + 0x10]
xor edi, edi
jmp 0x14012e7e7
jne 0x14012e230
mov r15, rdx
sub r15, rbp
add rbp, r14
lea rcx, [0x140197578]
test r15, r15
je 0x14012e933
mov qword [rsp + 0x68], rdx
cmp byte [rbp], 0x2f
jne 0x14012e933
inc rbp
dec r15
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], r15
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x98], r15
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], r15
movabs rax, 0x2f0000002f
mov qword [rsp + 0xb0], rax
mov byte [rsp + 0xb8], 1
mov word [rsp + 0xc0], 1
lea rcx, [rsp + 0xd0]
call fcn.14003b710
mov rdx, qword [rsp + 0x68]
cmp qword [rsp + 0xd0], 0
je 0x14012e406
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
sub rax, rcx
add rbp, rcx
cmp rax, 2
je 0x14012e448
jmp 0x14012e4b3
cmp byte [rsp + 0xc1], 0
jne 0x14012e92c
cmp byte [rsp + 0xc0], 0
mov rbp, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
jne 0x14012e437
cmp rax, rbp
je 0x14012e92c
sub rax, rbp
add rbp, qword [rsp + 0x90]
cmp rax, 2
jne 0x14012e4b3
movzx eax, byte [rbp]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x14012e4b3
cmp byte [rbp + 1], 0x3a
jne 0x14012e4b3
mov r14, qword [rsi + 0x10]
cmp r14, qword [rsi]
jne 0x14012e46b
mov rcx, rsi
call fcn.140053fa0
mov rax, qword [rsi + 8]
mov byte [rax + r14], 0x2f
inc r14
mov qword [rsi + 0x10], r14
mov rax, qword [rsi]
sub rax, r14
cmp rax, 1
ja 0x14012e49c
mov r8d, 2
mov rcx, rsi
mov rdx, r14
call fcn.140054040
mov r14, qword [rsi + 0x10]
mov rax, qword [rsi + 8]
movzx ecx, word [rbp]
mov word [rax + r14], cx
add r14, 2
mov qword [rsi + 0x10], r14
jmp 0x14012e4f4
mov rax, qword [rsp + 0x170]
movzx ecx, byte [rax + 0x40]
mov dword [rsp + 0x7c], ecx
test cl, cl
je 0x14012e4f4
mov ebp, dword [rax + 0x34]
mov r15d, dword [rax + 0x38]
lea rax, str.y2ufEyXydYB7Y0bvfU1FUo4JwUfpjbFzc5xoe9JMjm1eI7GNSmAl7Bt4CsoJk6okzbbhKy9VbfX82HRYLFiJ
cmp ebp, r15d
ja 0x14012e9fc
test rbp, rbp
je 0x14012e504
cmp rdx, rbp
jbe 0x14012e4fe
cmp byte [r14 + rbp], 0xbf
jg 0x14012e504
jmp 0x14012e9fc
mov dword [rsp + 0x7c], 0
jmp 0x14012e577
jne 0x14012e9fc
test r15, r15
je 0x14012e520
cmp rdx, r15
jbe 0x14012e51a
cmp byte [r14 + r15], 0xbf
jg 0x14012e520
jmp 0x14012e9fc
jne 0x14012e9fc
add rbp, r14
add r15, r14
sub r15, rbp
mov rax, qword [rsi]
mov r12, qword [rsi + 0x10]
sub rax, r12
cmp rax, r15
jae 0x14012e54a
mov rcx, rsi
mov rdx, r12
mov r8, r15
call fcn.140054040
mov r12, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
add rcx, r12
mov rdx, rbp
mov r8, r15
call sub.msvcrt.dll_memcpy
add r12, r15
mov qword [rsi + 0x10], r12
mov rax, qword [rsp + 0x170]
movups xmm0, xmmword [rax + 0x41]
movaps xmmword [rsp + 0xf0], xmm0
add edi, 0xffffffdd
cmp edi, 0x39
ja 0x14012e594
movabs rax, 0x200000010001001
bt rax, rdi
jae 0x14012e594
mov r13, qword [rsp + 0x70]
mov byte [rsp + 0x80], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0x80]
mov rcx, rsi
xor edx, edx
mov r9, r12
call fcn.14012c230
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.140130290
mov eax, dword [rsp + 0x80]
cmp eax, 2
jne 0x14012e628
movzx eax, byte [rsp + 0x84]
mov rcx, qword [rsp + 0xe8]
mov byte [rcx + 8], al
movabs rax, 0x8000000000000000
mov qword [rcx], rax
cmp qword [rsi], 0
je 0x14012e694
mov r8, qword [rsi + 8]
mov rcx, qword [0x1401ba0e0]
xor edx, edx
call fcn.1401336c4
jmp 0x14012e694
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsp + 0xe8]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0xf0]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rdx
mov dword [r9 + 0x24], ecx
mov word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], r12d
mov dword [r9 + 0x3c], r12d
mov eax, dword [rsp + 0x7c]
mov byte [r9 + 0x40], al
add rsp, 0x108
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
mov rax, qword [rsi]
mov r15, qword [rsi + 0x10]
sub rax, r15
cmp rax, rdi
jae 0x14012e6d1
mov rcx, rsi
mov rdx, r15
mov r8, rdi
call fcn.140054040
mov r15, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
add rcx, r15
mov rdx, r14
mov r8, rdi
call sub.msvcrt.dll_memcpy
add r15, rdi
mov qword [rsi + 0x10], r15
mov rdi, rbp
mov ebp, dword [rbp + 0x2c]
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x80]
mov rdx, rsi
xor r8d, r8d
mov r9d, ebp
call fcn.140130290
mov eax, dword [rsp + 0x80]
cmp eax, 2
je 0x14012d9cd
mov ecx, dword [rsp + 0x8c]
mov rdx, qword [rsp + 0x84]
mov r8, qword [rsi + 0x10]
mov qword [r12 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r12], xmm0
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [r12 + 0x40], xmm0
movzx r8d, byte [rdi + 0x50]
mov byte [r12 + 0x50], r8b
mov dword [r12 + 0x18], eax
mov qword [r12 + 0x1c], rdx
mov dword [r12 + 0x24], ecx
mov eax, dword [rdi + 0x28]
mov dword [r12 + 0x28], eax
mov dword [r12 + 0x2c], ebp
movups xmm0, xmmword [rdi + 0x30]
movups xmmword [r12 + 0x30], xmm0
jmp 0x14012e694
je 0x14012e7c3
mov qword [rsp + 0x68], rdi
lea rax, str.y2ufEyXydYB7Y0bvfU1FUo4JwUfpjbFzc5xoe9JMjm1eI7GNSmAl7Bt4CsoJk6okzbbhKy9VbfX82HRYLFiJ
xor ebp, ebp
jmp 0x14012e9fc
mov dil, 1
test rax, rax
je 0x14012e91f
mov rcx, qword [0x1401ba0e0]
xor r15d, r15d
xor edx, edx
call fcn.1401336c4
jmp 0x14012e922
mov r14, qword [rbp + 8]
mov rdi, qword [rbp + 0x10]
mov r13, r12
mov rax, qword [rsi]
mov r15, qword [rsi + 0x10]
sub rax, r15
cmp rax, rdi
jae 0x14012e7e7
mov rcx, rsi
mov rdx, r15
mov r8, rdi
call fcn.140054040
mov r15, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
add rcx, r15
mov rdx, r14
mov r8, rdi
call sub.msvcrt.dll_memcpy
add r15, rdi
mov qword [rsi + 0x10], r15
mov rdi, rbp
mov ebp, dword [rbp + 0x3c]
mov rcx, r15
sub rcx, rbp
je 0x14012e85a
mov r14, qword [rsi + 8]
test rbp, rbp
je 0x14012e832
lea rax, [0x140197770]
cmp r15, rbp
jbe 0x14012e9f7
cmp byte [r14 + rbp], 0xc0
jl 0x14012e9f7
cmp rcx, 2
jne 0x14012e84d
movzx eax, byte [r14 + rbp]
and al, 0xdf
add al, 0xbf
cmp al, 0x19
ja 0x14012e84d
cmp byte [r14 + rbp + 1], 0x3a
je 0x14012e85a
mov rcx, rsi
xor edx, edx
mov r8, rbp
call fcn.140130910
mov byte [rsp + 0x80], 1
mov qword [rsp + 0x28], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x80]
mov rcx, rsi
xor edx, edx
mov r9, rbp
call fcn.14012c230
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 [rdi + 0x2c]
mov ecx, dword [rdi + 0x30]
mov r8d, dword [rdi + 0x34]
mov r10d, dword [rdi + 0x38]
lea r11, [rdi + 0x40]
movzx esi, word [rdi + 0x28]
movzx edi, word [rdi + 0x2a]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], ebp
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, r13
xor r8d, r8d
call fcn.14012bd40
jmp 0x14012e694
xor r15d, r15d
mov qword [rsp + 0x70], rax
jmp 0x14012e2aa
lea rcx, [0x140197590]
call fcn.140019f10
jmp 0x14012ea14
mov qword [rsp + 0x68], rax
lea rax, [0x1401975a8]
xor ebp, ebp
jmp 0x14012e9fc
mov ecx, 1
jmp 0x14012e960
xor ebp, ebp
jmp 0x14012e9fc
xor ecx, ecx
mov rdx, r15
call fcn.140012d00
jmp 0x14012ea14
lea r8, [0x1401971d0]
mov ecx, 7
mov rdx, r12
call fcn.140019c40
jmp 0x14012ea14
lea r8, [0x1401971d0]
mov rcx, r12
mov rdx, r9
call fcn.140017e20
jmp 0x14012ea14
lea rax, [0x140197680]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140197018]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1400192f0
jmp 0x14012ea14
lea r8, [0x140197218]
mov edx, 0x2e
lea rcx, str.assertion_failed:_self.is_char_boundary_start_
jmp 0x14012e9f0
lea r8, [0x140197260]
mov edx, 0x2c
lea rcx, str.assertion_failed:_self.is_char_boundary_end_
call fcn.140018100
jmp 0x14012ea14
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, qword [rsp + 0x68]
mov r8, rbp
mov r9, r15
call fcn.14001abd0
ud2