Function at 0x14001d430
Capabilities:
Create a process with modified i/o handles and window
Create process on windows
Encode data using base64
Encrypt data using speck
Get common file path
Parse credit card information
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x688
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x5f0], xmm6
mov qword [rbp + 0x5e8], 0xfffffffffffffffe
mov qword [rbp + 0x4e8], r8
mov rbx, rdx
mov qword [rbp + 0x4e0], rcx
movzx eax, byte [rdx + 0xa0]
mov r14, qword [rdx + 0x98]
test r14, r14
setne cl
or cl, al
je 0x14001d6cb
mov qword [rbp + 0x458], 0
mov qword [rbp + 0x468], 0
test al, al
mov qword [rbp + 0x4d0], rbx
jne 0x14001d700
mov qword [rbp + 0x598], r14
call qword [sym.imp.kernel32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x140021a65
lea rbx, [rbp - 0x10]
lea r14, [rbp + 0x4f0]
lea rsi, [rbp + 0x470]
mov qword [rbp + 0x5a0], rax
mov rdi, rax
nop word cs:[rax + rax]
cmp word [rdi], 0
je 0x14001d6e5
mov r12, rdi
mov r15, 0xffffffffffffffff
mov rcx, 0xfffffffffffffffe
nop dword [rax + rax]
mov rax, rcx
cmp word [r12 + r15*2 + 2], 0
lea r15, [r15 + 1]
lea rcx, [rcx + 2]
jne 0x14001d510
test r15, r15
je 0x1400218ec
lea rdi, [r12 + r15*2]
add rdi, 2
lea rcx, [r15 + r15]
cmp rcx, 2
je 0x14001d4f0
xor r13d, r13d
nop word cs:[rax + rax]
cmp word [r12 + r13*2 + 2], 0x3d
je 0x14001d570
inc r13
add rax, 0xfffffffffffffffe
jne 0x14001d550
jmp 0x14001d4f0
lea r8, [r13 + 1]
cmp r13, r15
jae 0x14002196b
mov rcx, r14
mov rdx, r12
call fcn.140016530
add r13, 2
mov r8, r15
sub r8, r13
jb 0x140021985
lea rdx, [r12 + r13*2]
lea rcx, [rbp - 0x30]
call fcn.140016530
mov r9, qword [rbp + 0x4f0]
mov r8, qword [rbp + 0x4f8]
movdqu xmm6, xmmword [rbp + 0x500]
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
movups xmm0, xmmword [rbx - 0x10]
movaps xmmword [rbp + 0x560], xmm0
mov rax, r9
neg rax
jo 0x14001d6e5
mov qword [rbp + 0x5d8], r9
mov qword [rbp + 0x5c8], rdx
mov qword [rbp + 0x558], rcx
movq rax, xmm6
add rax, r8
mov qword [rbp + 0x4f0], r8
mov qword [rbp + 0x4f8], rax
mov word [rbp + 0x500], 0
mov r15, rsi
mov rcx, rsi
mov rdx, r14
mov qword [rbp + 0x5b8], r8
call fcn.140023100
mov rax, qword [rbp + 0x5d8]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x5b8]
mov qword [rbp - 0x28], rax
movdqu xmmword [rbp - 0x20], xmm6
mov rax, qword [rbp + 0x480]
mov qword [rbx + 0x10], rax
movups xmm0, xmmword [rbp + 0x470]
movups xmmword [rbx], xmm0
mov rax, qword [rbp + 0x5c8]
mov qword [rbp + 0x4f0], rax
mov rax, qword [rbp + 0x558]
mov qword [rbp + 0x4f8], rax
movaps xmm0, xmmword [rbp + 0x560]
lea rax, [rbp + 0x500]
movups xmmword [rax], xmm0
mov byte [rbp + 0x58f], 0
mov rcx, r15
lea rdx, [rbp + 0x458]
lea r8, [rbp - 0x30]
mov r9, r14
call fcn.140023330
mov rax, qword [rbp + 0x470]
shl rax, 1
test rax, rax
je 0x14001d4f0
mov r8, qword [rbp + 0x478]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14001d4f0
mov qword [rbp + 0x3f0], 0
lea r15, [rbp + 0x3f8]
xor r12d, r12d
jmp 0x14001e13c
mov rcx, qword [rbp + 0x5a0]
call qword [sym.imp.kernel32.dll_FreeEnvironmentStringsW]
mov rbx, qword [rbp + 0x4d0]
mov r14, qword [rbp + 0x598]
mov rax, qword [rbx + 0x88]
mov rcx, qword [rbx + 0x90]
mov qword [rbp + 0x5c8], rcx
xor r15d, r15d
test rax, rax
setne r15b
cmove r14, rax
mov qword [rbp + 0x5b0], 0
xor r12d, r12d
jmp 0x14001d742
xor eax, eax
test r14, r14
je 0x14001df68
test r15b, 1
je 0x14001d800
test r12, r12
jne 0x14001d800
mov r15d, 1
mov r8, qword [rbp + 0x5c8]
test r8, r8
je 0x14001d82e
mov rdx, r8
and rdx, 7
je 0x14001de09
mov rcx, r8
and rcx, 0xfffffffffffffff8
mov r12, rax
nop dword [rax + rax]
mov r12, qword [r12 + 0x3d8]
dec rdx
jne 0x14001d790
cmp r8, 8
jb 0x14001d7ef
nop word cs:[rax + rax]
mov rax, qword [r12 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r12, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14001d7b0
xor edx, edx
jmp 0x14001d833
test r15b, 1
mov rdx, qword [rbp + 0x5c8]
je 0x1400218db
mov qword [rbp + 0x5d8], r15
movzx ecx, word [r12 + 0x3d2]
cmp rdx, rcx
jae 0x14001d850
mov rcx, rdx
mov r15, r12
jmp 0x14001d87a
xor edx, edx
mov r12, rax
xor eax, eax
mov qword [rbp + 0x5d8], r15
movzx ecx, word [r12 + 0x3d2]
cmp rdx, rcx
jb 0x14001d826
nop word [rax + rax]
mov r15, qword [r12 + 0x160]
test r15, r15
je 0x1400212fa
inc rax
movzx ecx, word [r12 + 0x3d0]
mov r12, r15
cmp cx, word [r15 + 0x3d2]
jae 0x14001d850
lea r13, [rcx + 1]
test rax, rax
je 0x14001d920
lea r8, [r15 + r13*8]
add r8, 0x3d8
mov r9, rax
and r9, 7
je 0x14001d9e0
mov rdx, rax
and rdx, 0xfffffffffffffff8
nop word cs:[rax + rax]
mov r12, qword [r8]
lea r8, [r12 + 0x3d8]
dec r9
jne 0x14001d8b0
cmp rax, 8
jb 0x14001d912
nop word cs:[rax + rax]
mov rax, qword [r8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r12, qword [rax + 0x3d8]
lea r8, [r12 + 0x3d8]
add rdx, 0xfffffffffffffff8
jne 0x14001d8d0
xor r13d, r13d
jmp 0x14001d923
mov r12, r15
dec r14
imul rax, rcx, 0x38
lea rsi, [r15 + rax]
add rsi, 0x168
shl rcx, 5
xor eax, eax
cmp rax, qword [r15 + rcx]
mov qword [rbp + 0x5c8], r13
jno 0x14001d9a0
mov r13, qword [rbp + 0x458]
mov eax, 0
test r13, r13
mov r15, qword [rbp + 0x5d8]
je 0x14001d742
mov r9, qword [rsi + 0x28]
mov rax, qword [rsi + 0x30]
mov rbx, qword [rbp + 0x460]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x560]
mov rdx, r13
mov r8, rbx
call fcn.140024660
cmp dword [rbp + 0x560], 1
jne 0x14001db76
xor eax, eax
jmp 0x14001d742
add r15, rcx
mov rbx, qword [rsi + 0x10]
test rbx, rbx
js 0x140021910
mov rdi, qword [rsi + 8]
mov qword [rbp + 0x598], r14
je 0x14001d9f2
movzx eax, byte [0x14008c238]
xor ecx, ecx
mov rdx, rbx
call fcn.14002a760
test rax, rax
jne 0x14001d9f7
jmp 0x140021904
mov rdx, rax
cmp rax, 8
jae 0x14001d8d0
jmp 0x14001d912
mov eax, 1
mov qword [rbp + 0x558], rax
mov rcx, rax
mov rdx, rdi
mov qword [rbp + 0x5b8], rbx
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r14, qword [rsi + 0x30]
lea rbx, [r14 + r14]
test r14, r14
js 0x140021930
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
ja 0x140021930
movzx eax, byte [rsi + 0x18]
mov byte [rbp + 0x5a0], al
mov r13, qword [rsi + 0x28]
test rbx, rbx
je 0x14001da6b
movzx eax, byte [0x14008c238]
xor ecx, ecx
mov rdx, rbx
call fcn.14002a760
mov rdi, rax
mov rsi, r14
test rax, rax
jne 0x14001da72
jmp 0x140021924
mov edi, 2
xor esi, esi
mov rcx, rdi
mov rdx, r13
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rbp + 0x5b8]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x558]
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rax
movzx eax, byte [rbp + 0x5a0]
mov byte [rbp - 0x18], al
mov qword [rbp - 0x10], rsi
mov qword [rbp - 8], rdi
mov qword [rbp], r14
mov rbx, qword [r15 + 0x10]
test rbx, rbx
js 0x140021950
mov rdi, qword [r15 + 8]
mov r14, qword [rbp + 0x598]
je 0x14001dae8
movzx eax, byte [0x14008c238]
xor ecx, ecx
mov rdx, rbx
call fcn.14002a760
mov r13, rax
test rax, rax
jne 0x14001daee
jmp 0x140021944
mov r13d, 1
mov rcx, r13
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [r15 + 0x18]
mov qword [rbp + 0x4f0], rbx
mov qword [rbp + 0x4f8], r13
mov qword [rbp + 0x500], rbx
mov byte [rbp + 0x508], al
mov byte [rbp + 0x58e], 0
lea rcx, [rbp + 0x470]
lea rdx, [rbp + 0x458]
lea r8, [rbp - 0x30]
lea r9, [rbp + 0x4f0]
call fcn.140023330
mov rax, qword [rbp + 0x470]
shl rax, 1
test rax, rax
mov r15, qword [rbp + 0x5d8]
je 0x14001d740
mov r8, qword [rbp + 0x478]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14001d740
mov rax, qword [rbp + 0x568]
mov rdx, qword [rbp + 0x570]
mov rcx, qword [rbp + 0x578]
mov byte [rbp + 0x3e0], 0
test rdx, rdx
je 0x14001de1e
mov rax, qword [rax + rcx*8 + 0x3d8]
mov rcx, rdx
dec rcx
je 0x14001dc6e
mov r8, rcx
and r8, 7
je 0x14001dbde
mov rcx, r8
nop dword [rax + rax]
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
dec rcx
jne 0x14001dbc0
not r8
add r8, rdx
mov rcx, r8
add rdx, 0xfffffffffffffffe
cmp rdx, 7
jb 0x14001dc6e
nop dword [rax]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14001dbf0
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rbp + 0x440], rax
mov qword [rbp + 0x448], 0
mov qword [rbp + 0x450], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x440]
lea r8, [rbp + 0x3e0]
call fcn.140024800
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x4c0], rax
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x4b0], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movups xmm2, xmmword [rbp - 0x10]
movups xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x4a0], xmm3
movaps xmmword [rbp + 0x490], xmm2
movaps xmmword [rbp + 0x480], xmm1
movaps xmmword [rbp + 0x470], xmm0
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x38]
movzx edx, word [rax + 0x3d2]
cmp rcx, rdx
jb 0x14001dd17
nop
movzx ecx, word [rax + 0x3d0]
mov rax, qword [rax + 0x160]
cmp cx, word [rax + 0x3d2]
jae 0x14001dd00
imul rdx, rcx, 0x38
shl rcx, 5
mov r8, qword [rax + rdx + 0x198]
mov qword [rbp + 0x520], r8
movups xmm0, xmmword [rax + rdx + 0x168]
movups xmm1, xmmword [rax + rdx + 0x178]
movups xmm2, xmmword [rax + rdx + 0x188]
movaps xmmword [rbp + 0x510], xmm2
movaps xmmword [rbp + 0x500], xmm1
movaps xmmword [rbp + 0x4f0], xmm0
mov r8, qword [rbp + 0x4a0]
mov qword [rax + rdx + 0x198], r8
movaps xmm0, xmmword [rbp + 0x470]
movaps xmm1, xmmword [rbp + 0x480]
movaps xmm2, xmmword [rbp + 0x490]
movups xmmword [rax + rdx + 0x188], xmm2
movups xmmword [rax + rdx + 0x178], xmm1
movups xmmword [rax + rdx + 0x168], xmm0
movups xmm0, xmmword [rax + rcx]
movups xmm1, xmmword [rax + rcx + 0x10]
lea rdx, [rbp + 0x528]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x4a8]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + rcx], xmm0
movups xmmword [rax + rcx + 0x10], xmm1
movaps xmm0, xmmword [rbp + 0x4f0]
movaps xmm1, xmmword [rbp + 0x500]
movaps xmm2, xmmword [rbp + 0x510]
movaps xmm3, xmmword [rbp + 0x520]
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x10], xmm2
movaps xmmword [rbp], xmm3
movaps xmm0, xmmword [rbp + 0x530]
movaps xmmword [rbp + 0x10], xmm0
mov rax, qword [rbp + 0x540]
mov qword [rbp + 0x20], rax
jmp 0x14001de4e
mov r12, rax
mov rcx, r8
cmp r8, 8
jae 0x14001d7b0
jmp 0x14001d7ef
mov qword [rbp + 0x4f0], rax
mov qword [rbp + 0x4f8], 0
mov qword [rbp + 0x500], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x4f0]
lea r8, [rbp + 0x3e0]
call fcn.140024800
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x540], rax
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x530], xmm0
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x520], xmm3
movaps xmmword [rbp + 0x510], xmm2
dec qword [rbp + 0x468]
movaps xmmword [rbp + 0x500], xmm1
movaps xmmword [rbp + 0x4f0], xmm0
cmp byte [rbp + 0x3e0], 0
je 0x14001dede
test rbx, rbx
je 0x1400219b9
mov rax, qword [r13 + 0x3d8]
mov qword [rbp + 0x458], rax
dec rbx
mov qword [rbp + 0x460], rbx
mov qword [rax + 0x160], 0
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rbp + 0x4f0]
mov r8, qword [rbp + 0x4f8]
mov rsi, qword [rbp + 0x510]
mov r13, qword [rbp + 0x518]
mov rdi, qword [rbp + 0x528]
mov rbx, qword [rbp + 0x530]
neg rax
mov eax, 0
jo 0x14001d742
jae 0x14001df27
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test rsi, rsi
je 0x14001df3e
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
shl rdi, 1
mov eax, 0
test rdi, rdi
je 0x14001d742
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
xor eax, eax
jmp 0x14001d742
mov rax, qword [rbp + 0x468]
mov qword [rbp + 0x408], rax
movups xmm0, xmmword [rbp + 0x458]
movups xmmword [rbp + 0x3f8], xmm0
mov qword [rbp + 0x3f0], 1
movzx eax, byte [0x14008c238]
mov edx, 4
xor ecx, ecx
call fcn.14002a760
test rax, rax
je 0x1400219f3
mov dword [rax], 0x48544150
mov rcx, rax
add rcx, 4
mov qword [rbp + 0x4f0], rax
mov qword [rbp + 0x4f8], rcx
mov word [rbp + 0x500], 0
lea rcx, [rbp + 0x470]
lea rdx, [rbp + 0x4f0]
mov qword [rbp + 0x5d8], rax
call fcn.140023100
mov qword [rbp - 0x30], 4
mov r8, qword [rbp + 0x5d8]
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], 4
mov qword [rbp - 0x18], 0
movups xmm0, xmmword [rbp + 0x470]
movups xmmword [rbp - 0x10], xmm0
mov rax, qword [rbp + 0x480]
mov qword [rbp], rax
mov rax, qword [rbp + 0x3f8]
mov rsi, qword [rbp - 8]
test rax, rax
je 0x14001e103
mov ebx, dword [rbp]
mov r12, qword [rbp + 0x400]
mov r13, qword [sym.imp.kernel32.dll_CompareStringOrdinal]
lea rcx, [rax + 0x168]
mov qword [rbp + 0x5c8], rax
movzx eax, word [rax + 0x3d2]
mov qword [rbp + 0x598], rax
imul rdi, rax, 0x38
mov r14, 0xffffffffffffffff
nop
test rdi, rdi
je 0x14001e0b0
lea r15, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, ebx
call r13
add rdi, 0xffffffffffffffc8
inc r14
mov rcx, r15
cmp eax, 3
je 0x14001e070
cmp eax, 1
jne 0x14001e0d5
jmp 0x14001e0b7
mov r14, qword [rbp + 0x598]
sub r12, 1
jb 0x14001e680
mov rax, qword [rbp + 0x5c8]
mov rax, qword [rax + r14*8 + 0x3d8]
jmp 0x14001e047
cmp eax, 2
jne 0x140021855
shl r14, 5
mov rax, qword [rbp + 0x5c8]
mov r12, qword [rax + r14 + 8]
mov rdi, qword [rax + r14 + 0x10]
mov rbx, qword [rbp + 0x4d0]
mov r8, qword [rbp + 0x5d8]
jmp 0x14001e10d
xor r12d, r12d
mov rbx, qword [rbp + 0x4d0]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rbp - 0x10], 0
je 0x14001e135
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea r15, [rbp + 0x3f8]
mov rcx, qword [rbx + 0x10]
lea r14, str.h9_b_
test rcx, rcx
mov rax, qword [rbp + 0x4e8]
je 0x14001e4fa
mov rdx, qword [rbx + 8]
mov qword [rbp + 0x5c8], rcx
cmp rcx, 4
jae 0x14001e171
lea rax, [0x1400252d0]
jmp 0x14001e199
mov eax, dword [rdx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x1400252c0]
lea rax, [0x1400252d0]
cmove rax, rcx
mov qword [rbp + 0x598], rdx
mov rcx, qword [rbp + 0x5c8]
movzx esi, byte [rcx + rdx - 1]
mov byte [rbp + 0x5e7], 1
mov ecx, esi
call rax
test al, al
mov rax, qword [rbp + 0x4e8]
jne 0x14001e4fa
mov r14, qword [rbp + 0x598]
mov rdx, qword [rbp + 0x5c8]
lea r10, [r14 + rdx]
cmp rdx, 3
mov qword [rbp + 0x558], r10
jbe 0x14001e242
movzx eax, byte [r10 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14001e274
movzx eax, byte [r10 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x14001e274
movzx eax, byte [r10 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x14001e274
lea eax, [rsi - 0x41]
cmp al, 0x1a
setb al
shl al, 5
or al, sil
cmp al, 0x65
sete al
jmp 0x14001e276
xor eax, eax
nop word cs:[rax + rax]
cmp rdx, rax
je 0x14001e3e6
movzx ecx, byte [r14 + rax]
cmp ecx, 0x2f
je 0x14001e2f4
inc rax
cmp ecx, 0x5c
jne 0x14001e250
jmp 0x14001e2f4
xor eax, eax
xor ecx, ecx
nop dword [rax + rax]
mov rdx, qword [rbp + 0x5c8]
cmp rdx, rcx
je 0x14001e3e6
movzx edx, byte [r14 + rcx]
cmp edx, 0x2f
je 0x14001e2a2
inc rcx
cmp edx, 0x5c
jne 0x14001e280
test al, al
mov rdx, qword [rbp + 0x5c8]
je 0x14001e2f4
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp - 0x30]
mov r8, rdx
mov rdx, r14
call fcn.1400184e0
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov rdx, rcx
neg rdx
jno 0x14001e64d
mov qword [rbp + 0x448], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0x440], rax
jmp 0x14001e674
test rdx, rdx
js 0x140021ad9
movzx eax, byte [0x14008c238]
xor ecx, ecx
mov rsi, rdx
call fcn.14002a760
test rax, rax
je 0x140021add
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x30], rsi
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], rsi
mov qword [rbp - 0x18], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x30]
mov r8d, 4
mov qword [rbp + 0x5d8], rdi
call fcn.140019380
mov r12, qword [rbp - 0x30]
mov rdi, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x20]
mov qword [rbp + 0x3d8], rdi
mov qword [rbp + 0x3d0], r12
mov byte [rbp + 0x58d], 1
lea rcx, [rbp + 0x4f0]
mov rdx, rdi
mov r8, rsi
call fcn.1400253e0
xor eax, eax
cmp rax, qword [rbp + 0x4f0]
jno 0x14001e5a4
mov qword [rbp + 0x5d8], r12
mov qword [rbp + 0x5c8], rdi
mov rcx, rdi
mov rdx, rsi
call fcn.14001ca40
test rax, rax
je 0x14001e641
cmp rdx, 2
jne 0x14001e5ce
cmp word [rax], 0x2e2e
jne 0x14001e5ce
mov r8d, 2
xor ecx, ecx
mov r10, qword [rbp + 0x5c8]
jmp 0x14001ed5d
xor r8d, r8d
lea r11, str.09_b_
mov rax, r14
jmp 0x14001e40c
xor r8d, r8d
test cx, cx
je 0x14001e4f0
mov cx, 1
test r8w, r8w
jne 0x14001e400
cmp rax, r10
je 0x14001e60e
movzx r9d, byte [rax]
movzx edx, r9b
test dl, dl
js 0x14001e430
inc rax
jmp 0x14001e4a0
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x14001e48b
movzx edx, byte [rax + 2]
shl r10d, 6
and edx, 0x3f
or edx, r10d
cmp r9b, 0xf0
jb 0x14001e4b7
movzx r9d, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl edx, 6
and r9d, 0x3f
or r9d, edx
or r9d, r8d
mov edx, r9d
mov r10, qword [rbp + 0x558]
cmp edx, 0xffff
jbe 0x14001e4a0
jmp 0x14001e4d1
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
mov r10, qword [rbp + 0x558]
xor r8d, r8d
mov ecx, edx
mov rdx, qword [rbp + 0x5c8]
test cx, cx
jne 0x14001e40c
jmp 0x14001e4f0
add rax, 3
shl r8d, 0xc
or edx, r8d
mov r10, qword [rbp + 0x558]
cmp edx, 0xffff
jbe 0x14001e4a0
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
mov rdx, qword [rbp + 0x5c8]
test cx, cx
jne 0x14001e40c
mov r14, r11
mov rax, qword [rbp + 0x4e8]
mov rsi, r14
mov rax, qword [rbp + 0x500]
mov qword [rbp + 0x450], rax
movups xmm0, xmmword [rbp + 0x4f0]
movaps xmmword [rbp + 0x440], xmm0
test r12, r12
jne 0x14001ee15
jmp 0x14001ee27
mov r8, rdx
mov r10, qword [rbp + 0x5c8]
nop dword [rax + rax]
test r8, r8
je 0x14001e68f
mov r9, r8
dec r8
cmp byte [rax + r9 - 1], 0x2e
jne 0x14001e5e0
test r8, r8
je 0x14001ed58
sub rdx, r9
mov rcx, rax
add rcx, r9
jmp 0x14001ed5d
cmp rdx, 0xf
ja 0x14001e69c
mov qword [rbp + 0x5b0], 0
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r14 + rax], 0x2e
je 0x14001e6ab
inc rax
cmp rdx, rax
jne 0x14001e630
jmp 0x14001e6b7
mov r10, qword [rbp + 0x5c8]
jmp 0x14001edab
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp + 0x440]
lea rdx, [rbp - 0x30]
call fcn.1400252f0
mov r14, qword [rbp + 0x598]
jmp 0x14001ee27
mov rbx, qword [rbp + 0x4d0]
xor r12d, r12d
jmp 0x14001e0fa
mov rcx, rax
mov r8, rdx
xor eax, eax
jmp 0x14001ed5d
mov cl, 0x2e
mov r8, rdx
mov rdx, r14
call fcn.1400094b0
jmp 0x14001e6b0
mov eax, 1
mov qword [rbp + 0x5b0], rax
test r12, r12
mov qword [rbp + 0x4d0], rbx
mov qword [rbp + 0x5a0], r15
je 0x14001ea78
add rdi, r12
mov qword [rbp + 0x470], r12
mov qword [rbp + 0x478], rdi
mov word [rbp + 0x480], 0
mov byte [rbp + 0x488], 1
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp + 0x470]
call fcn.1400190d0
mov rax, qword [rbp + 0x4f0]
mov rcx, rax
neg rcx
jo 0x14001ea78
movzx edx, byte [rbp + 0x488]
movzx r14d, word [rbp + 0x480]
mov r15, qword [rbp + 0x470]
mov r12, qword [rbp + 0x478]
jmp 0x14001e781
movabs rax, 0x8000000000000000
mov qword [rbp + 0x4f0], rax
cmp qword [rbp + 0x560], 0
je 0x14001e76c
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rbp + 0x4f0]
mov rcx, rax
neg rcx
mov edx, ebx
jo 0x14001ea78
mov r8, qword [rbp + 0x4f8]
mov rcx, qword [rbp + 0x500]
test rcx, rcx
jne 0x14001e9b6
mov byte [rbp + 0x5d8], dl
test rax, rax
je 0x14001e7b2
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rbp + 0x560], 0
mov qword [rbp + 0x568], 2
mov eax, 2
xor r13d, r13d
mov esi, r14d
xor edi, edi
jmp 0x14001e7e8
mov word [rax + r13*2], bx
inc r13
mov qword [rbp + 0x570], r13
mov ebx, esi
test si, si
je 0x14001e820
nop word cs:[rax + rax]
xor r14d, r14d
xor esi, esi
cmp bx, 0x22
je 0x14001e900
jmp 0x14001e920
cmp r15, r12
je 0x14001e960
movzx edx, byte [r15]
movzx ebx, dl
test bl, bl
js 0x14001e850
invalid
inc r15
xor esi, esi
cmp bx, 0x22
je 0x14001e900
jmp 0x14001e920
mov ecx, ebx
and ecx, 0x1f
movzx r8d, byte [r15 + 1]
add dword [r9 - 0x7d], r8d
loopne 0x14001e89d
cmp bl, 0xdf
jbe 0x14001e8a4
movzx ebx, byte [r15 + 2]
shl r8d, 6
and ebx, 0x3f
or ebx, r8d
cmp dl, 0xf0
jb 0x14001e8ba
movzx edx, byte [r15 + 3]
add r15, 4
and ecx, 7
shl ecx, 0x12
shl ebx, 6
and edx, 0x3f
or edx, ebx
or edx, ecx
mov ebx, edx
cmp ebx, 0xffff
ja 0x14001e8cb
xor esi, esi
cmp bx, 0x22
je 0x14001e900
jmp 0x14001e920
add r15, 2
shl ecx, 6
or ecx, r8d
mov ebx, ecx
xor esi, esi
cmp bx, 0x22
je 0x14001e900
jmp 0x14001e920
add r15, 3
shl ecx, 0xc
or ebx, ecx
cmp ebx, 0xffff
jbe 0x14001e89a
lea ecx, [rbx + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebx, 0x3ff
or ebx, 0xdc00
mov r14d, ebx
mov esi, ebx
mov ebx, ecx
cmp bx, 0x22
jne 0x14001e920
nop word cs:[rax + rax]
xor dil, 1
mov ebx, esi
test si, si
jne 0x14001e800
jmp 0x14001e820
movzx ecx, bx
cmp ecx, 0x3b
jne 0x14001e937
mov bl, 1
test dil, 1
je 0x14001e962
mov bx, 0x3b
mov dil, 1
cmp r13, qword [rbp + 0x560]
jne 0x14001e7e0
lea rcx, [rbp + 0x560]
call fcn.140017b00
mov rax, qword [rbp + 0x568]
jmp 0x14001e7e0
xor ebx, ebx
test r13, r13
setne al
movzx ecx, byte [rbp + 0x5d8]
or cl, al
test cl, 1
je 0x14001e73b
mov rdx, qword [rbp + 0x568]
lea rcx, [rbp - 0x30]
mov r8, r13
call fcn.140016530
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x500], xmm1
movaps xmmword [rbp + 0x4f0], xmm0
cmp qword [rbp + 0x560], 0
jne 0x14001e756
jmp 0x14001e76c
mov byte [rbp + 0x488], dl
mov word [rbp + 0x480], r14w
mov qword [rbp + 0x470], r15
add al, 0
add byte [rax - 0x75], cl
xchg ebp, eax
or byte [0xc949e9d4], al
ror byte [r9 + rcx*4 + 0x45], 1
fmul dword [rax - 0x77]
loopne 0x14001ea27
mov dword [rbp - 0x18], edx
lea rcx, [rbp - 0x30]
mov r14, qword [rbp + 0x598]
mov rdx, r14
mov r8, qword [rbp + 0x5c8]
call fcn.14001a600
invalid
dec dword [rax - 0x7d]
mov ebp, 0x5b0
invalid
je 0x14001ea0f
lea rcx, [rbp - 0x30]
call fcn.14001cb50
mov r13, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x4f0]
mov rdx, r13
call fcn.1400253e0
cmp qword [rbp - 0x30], 0
jge case.0x140014db6.540
invalid
mov r15, qword [rbp + 0x5a0]
je 0x14001ea46
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
neg rax
jno 0x1400208d4
mov byte [rbp + 0x5e7], 1
lea rcx, [rbp + 0x4f0]
lea rdx, [rbp + 0x470]
call fcn.1400190d0
jmp 0x14001e709
mov qword [rbp + 0x470], 0
mov qword [rbp + 0x478], 2
mov qword [rbp + 0x480], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor esi, esi
xor ebx, ebx
xor edi, edi
cmp r8, 0x201
jb 0x14001ead6
jmp 0x14001eaf0
mov r14, qword [rbp + 0x598]
jae 0x14001ebc0
cmp r8, 0x201
jae 0x14001eaf0
mov r15d, 0x200
lea r12, [rbp - 0x30]
mov r13, r8
jmp 0x14001eb56
sub r8, rdi
sub rbx, rdi
cmp rbx, r8
jae 0x14001eb2e
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rbp + 0x470]
mov rdx, rdi
call fcn.14002fd60
mov rsi, qword [rbp + 0x470]
mov rax, qword [rbp + 0x478]
mov qword [rbp + 0x5d8], rax
mov eax, 0xffffffff
cmp rsi, rax
mov edi, 0xffffffff
cmovb rdi, rsi
mov qword [rbp + 0x480], rdi
mov rbx, rsi
mov r15, rdi
mov r12, qword [rbp + 0x5d8]
mov r13, rdi
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
xor ecx, ecx
mov rdx, r12
mov r8d, r13d
call qword [sym.imp.kernel32.dll_GetModuleFileNameW]
mov r14d, eax
test eax, eax
jne 0x14001eb81
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14001ec9e
mov r8d, r14d
cmp r13, r8
jne 0x14001eac0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1400219d6
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jb 0x14001ead6
jmp 0x14001eaf0
cmp r15, r8
jb 0x140021b0e
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.140016530
mov r12, qword [rbp + 0x4f0]
mov rbx, qword [rbp + 0x4f8]
mov rdi, qword [rbp + 0x500]
mov rsi, qword [rbp + 0x508]
cmp qword [rbp + 0x470], 0
je 0x14001ec14
mov r8, qword [rbp + 0x478]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, r12
neg rax
mov r15, qword [rbp + 0x5a0]
jo 0x14001ecce
mov qword [rbp + 0x5d8], r12
mov byte [rbp + 0x5af], 0
mov qword [rbp + 0x5b8], rbx
mov rcx, rbx
mov rdx, rdi
call fcn.14001b6a0
test rax, rax
je 0x14001fbea
test rdx, rdx
mov rcx, qword [rbp + 0x5d8]
je 0x1400200be
cmp rdi, rdx
mov rax, qword [rbp + 0x5b8]
jbe 0x1400200ca
cmp byte [rax + rdx], 0xbf
jg 0x1400200d0
mov byte [rbp + 0x5af], 0
lea rcx, [0x140082d3a]
lea r8, str.std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov edx, 0x37
call fcn.14002f430
jmp 0x140021b76
call qword [sym.imp.kernel32.dll_GetLastError]
mov ebx, eax
shl rbx, 0x20
cmp qword [rbp + 0x470], 0
je 0x14001ecca
mov r8, qword [rbp + 0x478]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
or rbx, 2
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x140020150
lea rax, [rbx - 1]
mov qword [rbp + 0x590], rax
mov rax, qword [rbx - 1]
mov qword [rbp + 0x5d8], rax
mov rax, qword [rbx + 7]
mov qword [rbp + 0x5b8], rax
mov rax, qword [rax]
test rax, rax
je 0x14001ed0e
mov rcx, qword [rbp + 0x5d8]
call rax
mov r8, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x5b8]
cmp qword [rax + 8], 0
je 0x14001ed3d
cmp qword [rax + 0x10], 0x11
jb 0x14001ed2e
mov r8, qword [r8 - 8]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, qword [rbp + 0x590]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140020150
xor ecx, ecx
mov r8, rdx
mov eax, edx
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x14001edab
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, r10
je 0x14001eda8
invalid
cmp rsi, rcx
jbe 0x14001eda1
cmp byte [r10 + rcx], 0xbf
jg 0x14001eda3
lea rcx, [0x140082d3a]
lea r8, str.std_src_sys_commonwtf8.rsassertion_failed:_is_code_point_boundary_self__new_len_
mov edx, 0x37
invalid
add byte [rax], al
add al, ch
xchg esp, eax
invalid
add dword [rax], eax
jmp 0x140021b76
jne 0x14001ed84
cmp rsi, rcx
jb 0x14001edab
mov rsi, rcx
lea rcx, [rbp - 0x30]
mov rdx, r10
mov r8, rsi
call fcn.1400184e0
invalid
dec dword [rax - 0x75]
ror byte [r8 - 0x75], 1
fmul dword [r8 - 0x77]
retf 0xf748
fidiv dword [rcx + 0x1a]
mov qword [rbp + 0x448], rax
movabs rax, 0x8000000000000000
mov qword [rbp + 0x440], rax
mov dword [rbp + 0x440], eax
jmp 0x14001ee04
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdx
lea rcx, [rbp + 0x440]
add al, 0
invalid
mov rax, qword [rbp + 0x5b8]
mov rcx, qword [rbp + 0x5d8]
jmp 0x1400200d7
mov rdi, rdx
mov rax, qword [rbp + 0x5b8]
jmp 0x1400200d7
jne 0x14001ec7a
cmp rdi, rdx
cmovae rdi, rdx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], rsi
lea rcx, [rbp - 0x30]
mov rdx, r14
mov r8, qword [rbp + 0x5c8]
call fcn.14001a600
cmp qword [rbp + 0x5b0], 1
je 0x14002010d
lea rcx, [rbp - 0x30]
call fcn.14001cb50
mov rdi, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x4f0]
mov rdx, rdi
call fcn.1400253e0
cmp qword [rbp - 0x30], 0
je 0x14002013d
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [rbp + 0x4f0]
mov rax, rcx
neg rax
jno 0x1400208d4
mov qword [rbp + 0x560], 0
mov qword [rbp + 0x568], 2
mov qword [rbp + 0x570], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
mov qword [rbp + 0x5b8], 0
mov rsi, qword [sym.imp.kernel32.dll_GetSystemDirectoryW]
mov r15d, 0xffffffff
xor ebx, ebx
xor edi, edi
cmp r8, 0x201
jb 0x1400201bf
jmp 0x1400201d0
jae 0x1400202aa
cmp r8, 0x201
jae 0x1400201d0
mov r14d, 0x200
lea r12, [rbp - 0x30]
mov r13, r8
jmp 0x14002023c
sub r8, rdi
sub rbx, rdi
cmp rbx, r8
jae 0x140020215
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rbp + 0x560]
mov rdx, rdi
call fcn.14002fd60
mov rax, qword [rbp + 0x560]
mov qword [rbp + 0x5b8], rax
mov rax, qword [rbp + 0x568]
mov qword [rbp + 0x5d8], rax
mov rbx, qword [rbp + 0x5b8]
cmp rbx, r15
mov edi, 0xffffffff
cmovb rdi, rbx
mov qword [rbp + 0x570], rdi
mov r14, rdi
mov r12, qword [rbp + 0x5d8]
mov r13, rdi
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r12
mov edx, r13d
call rsi
test eax, eax
jne 0x140020270
mov r15, rsi
mov esi, eax
call qword [sym.imp.kernel32.dll_GetLastError]
mov ecx, eax
mov eax, esi
mov rsi, r15
mov r15d, 0xffffffff
test ecx, ecx
jne 0x14002038f
mov r8d, eax
cmp r13, r8
jne 0x1400201b0
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140021a2b
add r13, r13
cmp r13, r15
cmovae r13, r15
mov r8, r13
cmp r8, 0x201
jae 0x1400201d0
jmp 0x1400201bf
cmp r14, r8
jb 0x140021b39
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.140016530
lea rcx, [rbp + 0x4f0]
mov r14, qword [rbp + 0x598]
mov rdx, r14
mov r8, qword [rbp + 0x5c8]
call fcn.14001a600
cmp qword [rbp + 0x5b0], 1
je 0x1400202f5
lea rcx, [rbp + 0x4f0]
call fcn.14001cb50
mov rdi, qword [rbp + 0x4f8]
mov r8, qword [rbp + 0x500]
lea rcx, [rbp + 0x470]
mov rdx, rdi
call fcn.1400253e0
cmp qword [rbp + 0x4f0], 0
mov r15, qword [rbp + 0x5a0]
je 0x140020335
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x5b8], rax
mov rsi, qword [rbp + 0x478]
mov rbx, qword [rbp + 0x480]
cmp qword [rbp + 0x560], 0
je 0x140020371
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movabs rax, 0x8000000000000001
cmp qword [rbp + 0x5b8], rax
jg 0x14001ee5b
je 0x1400203bf
jmp 0x140020440
call qword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
cmp qword [rbp + 0x560], 0
je 0x1400203bb
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
or rsi, 2
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x140020440
lea rax, [rsi - 1]
mov qword [rbp + 0x590], rax
mov rax, qword [rsi - 1]
mov qword [rbp + 0x5d8], rax
mov rax, qword [rsi + 7]
mov qword [rbp + 0x5b8], rax
mov rax, qword [rax]
test rax, rax
je 0x1400203fb
mov rcx, qword [rbp + 0x5d8]
call rax
mov r8, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x5b8]
cmp qword [rax + 8], 0
je 0x14002042a
cmp qword [rax + 0x10], 0x11
jb 0x14002041b
mov r8, qword [r8 - 8]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, qword [rbp + 0x590]
call qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rbp + 0x560], 0
mov qword [rbp + 0x568], 2
mov qword [rbp + 0x570], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x5d8], rax
xor ebx, ebx
xor esi, esi
xor edi, edi
cmp r8, 0x201
jb 0x1400204a6
jmp 0x1400204c0
mov r14, qword [rbp + 0x598]
jae 0x14002058e
cmp r8, 0x201
jae 0x1400204c0
mov r15d, 0x200
lea r12, [rbp - 0x30]
mov r13, r8
jmp 0x140020526
sub r8, rdi
sub rsi, rdi
cmp rsi, r8
jae 0x1400204fe
mov qword [rsp + 0x20], 2
mov r9d, 2
lea rcx, [rbp + 0x560]
mov rdx, rdi
call fcn.14002fd60
mov rbx, qword [rbp + 0x560]
mov rax, qword [rbp + 0x568]
mov qword [rbp + 0x5d8], rax
mov eax, 0xffffffff
cmp rbx, rax
mov edi, 0xffffffff
cmovb rdi, rbx
mov qword [rbp + 0x570], rdi
mov rsi, rbx
mov r15, rdi
mov r12, qword [rbp + 0x5d8]
mov r13, rdi
xor ecx, ecx
call qword [sym.imp.kernel32.dll_SetLastError]
mov rcx, r12
mov edx, r13d
call qword [sym.imp.kernel32.dll_GetWindowsDirectoryW]
mov r14d, eax
test eax, eax
jne 0x14002054f
call qword [sym.imp.kernel32.dll_GetLastError]
test eax, eax
jne 0x14002066c
mov r8d, r14d
cmp r13, r8
jne 0x140020490
call qword [sym.imp.kernel32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140021a48
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x1400204c0
jmp 0x1400204a6
cmp r15, r8
jb 0x140021b50
lea rcx, [rbp + 0x4f0]
mov rdx, r12
call fcn.140016530
lea rcx, [rbp + 0x4f0]
mov rdx, r14
mov r8, qword [rbp + 0x5c8]
call fcn.14001a600
mov r15, qword [rbp + 0x5a0]
cmp qword [rbp + 0x5b0], 1
je 0x1400205d9
lea rcx, [rbp + 0x4f0]
call fcn.14001cb50
mov rsi, qword [rbp + 0x4f8]
mov r8, qword [rbp + 0x500]
lea rcx, [rbp + 0x470]
mov rdx, rsi
call fcn.1400253e0
cmp qword [rbp + 0x4f0], 0
je 0x140020612
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
mov rax, qword [rbp + 0x470]
mov qword [rbp + 0x5b8], rax
mov rsi, qword [rbp + 0x478]
mov rbx, qword [rbp + 0x480]
cmp qword [rbp + 0x560], 0
je 0x14002064e
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
movabs rax, 0x8000000000000001
cmp qword [rbp + 0x5b8], rax
jg 0x14001ee5b
je 0x14002069c
jmp 0x14002071d
call qword [sym.imp.kernel32.dll_GetLastError]
mov esi, eax
shl rsi, 0x20
cmp qword [rbp + 0x560], 0
je 0x140020698
mov r8, qword [rbp + 0x568]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
or rsi, 2
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x14002071d
lea rax, [rsi - 1]
mov qword [rbp + 0x590], rax
mov rax, qword [rsi - 1]
mov qword [rbp + 0x5d8], rax
mov rax, qword [rsi + 7]
mov qword [rbp + 0x5b8], rax
mov rax, qword [rax]
test rax, rax
je 0x1400206d8
mov rcx, qword [rbp + 0x5d8]
call rax
mov r8, qword [rbp + 0x5d8]
mov rax, qword [rbp + 0x5b8]
cmp qword [rax + 8], 0
je 0x140020707
cmp qword [rax + 0x10], 0x11
jb 0x1400206f8
mov r8, qword [r8 - 8]
mov rcx, qword [0x14008c1d8]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, qword [rbp + 0x590]
call qword [sym.imp.kernel32.dll_HeapFree]
mov byte [rbp + 0x5e7], 1
lea rdx, str.PATHstd_src_sys_commonprocess.rs
lea rcx, [rbp + 0x470]
mov r8d, 4
call fcn.140017ea0
mov rcx, qword [rbp + 0x470]
mov rax, rcx
neg rax
jo 0x1400208c8
mov qword [rbp + 0x5d8], rcx
mov rcx, qword [rbp + 0x478]
mov rax, qword [rbp + 0x480]
add rax, rcx
mov qword [rbp + 0x590], rcx
mov qword [rbp + 0x4f0], rcx
mov qword [rbp + 0x4f8], rax
mov word [rbp + 0x500], 0
mov byte [rbp + 0x508], 1
lea rsi, [rbp - 0x30]
lea rdi, [rbp + 0x4f0]
mov rbx, qword [sym.imp.kernel32.dll_HeapFree]
lea r15, [rbp + 0x560]
mov r14, qword [rbp + 0x598]
mov rcx, rsi
mov rdx, rdi
call fcn.1400190d0
jmp 0x1400207c5
mov rcx, rsi
mov rdx, rdi
call fcn.1400190d0
mov rax, qword [rbp - 0x30]
mov rcx, rax
neg rcx
jo 0x1400208a8
mov r8, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x20]
test rcx, rcx
jne 0x1400207f4
test rax, rax
je 0x1400207ba
mov rcx, qword [0x14008c1d8]
xor edx, edx
call rbx
jmp 0x1400207ba
mov rdx, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x20], rcx
mov qword [rbp - 0x18], rdx
mov rcx, rsi
mov rdx, r14
mov r8, qword [rbp + 0x5c8]
call fcn.14001a600
cmp qword [rbp + 0x5b0], 1
je 0x14002082c
mov rcx, rsi
call fcn.14001cb50
mov r12, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
mov rcx, r15
mov rdx, r12
call fcn.1400253e0
cmp qword [rbp - 0x30], 0
je 0x140020854
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, r12
call rbx
mov rcx, qword [rbp + 0x560]
mov rax, rcx
neg rax
jo 0x1400207ad
mov qword [rbp + 0x5b8], rcx
mov rsi, qword [rbp + 0x568]
mov rbx, qword [rbp + 0x570]
cmp qword [rbp + 0x5d8], 0
je 0x14002089c
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, qword [rbp + 0x590]
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15, qword [rbp + 0x5a0]
jmp 0x14001ee5b
cmp qword [rbp + 0x5d8], 0
je 0x1400208c8
mov rcx, qword [0x14008c1d8]
xor edx, edx
mov r8, qword [rbp + 0x590]
call qword [sym.imp.kernel32.dll_HeapFree]
lea r14, [0x1400839b8]
jmp 0x14001e4f3
mov qword [rbp + 0x5b8], rcx
mov rsi, qword [rbp + 0x4f8]
mov rbx, qword [rbp + 0x500]
jmp 0x14001ee5b
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_srccollections_btree_navigate.rs
call fcn.14002f760
jmp 0x140021b76
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x560], rax
lea rax, [rbp + 0x560]
mov qword [rbp + 0x470], rax
lea rax, [0x140018f00]
mov qword [rbp + 0x478], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x4f0], rax
mov qword [rbp + 0x4f8], 1
mov qword [rbp + 0x510], 0
lea rax, [rbp + 0x470]
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], 1
lea rdx, str.std_src_syspalwindowsprocess.rs
lea rcx, [rbp + 0x4f0]
call fcn.14002f380
jmp 0x140021b76
lea rcx, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_srccollections_btree_navigate.rs
call fcn.14002f760
jmp 0x140021b76
lea r8, str.std_src_syspalwindowsos.rs
mov ecx, 1
xor edx, edx
call fcn.14002f2a0
jmp 0x140021b76
mov eax, 1
mov qword [rbp + 0x5b0], rax
mov rcx, qword [rbp + 0x5b0]
mov rdx, rbx
call fcn.14002f1d0
jmp 0x140021b76
mov eax, 2
mov qword [rbp + 0x5b0], rax
mov rcx, qword [rbp + 0x5b0]
mov rdx, rbx
call fcn.14002f1d0
jmp 0x140021b76
mov eax, 1
mov qword [rbp + 0x5b0], rax
mov byte [rbp + 0x58e], 1
mov rcx, qword [rbp + 0x5b0]
mov rdx, rbx
call fcn.14002f1d0
jmp 0x140021b76
lea rax, str.std_src_syspalwindowsos.rs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14002f3c0
jmp 0x140021b76
lea r8, str.std_src_syspalwindowsos.rs
mov rcx, r13
mov rdx, r15
call fcn.14002f2a0
jmp 0x140021b76
lea rcx, str.assertion_failed:_self.height___0
lea r8, str._rustc_f6e511eec7342f59a25f7c0534f1dbea00d01b14library_alloc_srccollections_btree_node.rsassertion_failed:_edge.height__self.height___1
mov edx, 0x21
call fcn.14002f430
jmp 0x140021b76
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14002f430
jmp 0x140021b76
mov byte [rbp + 0x5e7], 1
mov ecx, 1
mov edx, 4
call fcn.14002f1d0
jmp 0x140021b76
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14002f430
jmp 0x140021b76
lea rcx, str.internal_error:_entered_unreachable_code
lea r8, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.14002f430
jmp 0x140021b76
call qword [sym.imp.kernel32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x470], rax
lea rax, [rbp + 0x470]
mov qword [rbp + 0x4f0], rax
lea rax, [0x140018f00]
mov qword [rbp + 0x4f8], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 1
mov qword [rbp - 0x10], 0
lea rax, [rbp + 0x4f0]
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
lea rdx, str.std_src_syspalwindowsos.rs
lea rcx, [rbp - 0x30]
call fcn.14002f380
jmp 0x140021b76
xor ecx, ecx
jmp 0x140021ae2
mov ecx, 1
mov byte [rbp + 0x5e7], 1
mov rdx, qword [rbp + 0x5c8]
call fcn.14002f1d0
jmp 0x140021b76
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14002f3c0
jmp 0x140021b76
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14002f3c0
jmp 0x140021b76
lea rax, str.std_src_syspalwindowsmod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, r15
mov r8, rax
call fcn.14002f3c0
jmp 0x140021b76