Function at 0x140024b40
Capabilities:
Create process on windows
Encode data using base64
Get common file path
Query environment variable

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x6a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x620], 0xfffffffffffffffe
mov byte [rbp + 0x4d0], r9b
mov qword [rbp + 0x568], rcx
mov qword [rbp + 0x3f0], r8
mov rdi, qword [rdx + 0x50]
movzx eax, byte [rdx + 0x58]
test al, al
sete cl
test rdi, rdi
sete bl
and bl, cl
mov qword [rbp + 0x570], rdx
je 0x140024bb5
mov qword [rbp + 0x420], 0
xor eax, eax
mov qword [rbp + 0x578], rax
xor r15d, r15d
jmp 0x1400255b5
mov byte [rbp + 0x600], bl
xorps xmm0, xmm0
movups xmmword [rbp + 0x4e8], xmm0
test al, al
jne 0x140024d42
mov qword [rbp + 0x578], rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
je 0x140027bbc
mov qword [rbp + 0x490], rax
mov qword [rbp + 0x498], rax
lea r13, [rbp - 0x10]
lea r14, [rbp + 0x5a0]
lea r12, [rbp + 0x490]
lea rbx, [rbp + 0x440]
lea rsi, [rbp + 0x500]
lea r15, [rbp + 0x4e0]
lea rdi, [rbp + 0x580]
nop
lea rcx, [rbp - 0x30]
mov rdx, r12
call fcn.140021f70
cmp byte [rbp - 0x18], 2
je 0x140024d27
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x4c0], xmm1
movaps xmmword [rbp + 0x4b0], xmm0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rbp + 0x5f0], xmm1
movaps xmmword [rbp + 0x5e0], xmm0
mov rax, qword [rbp + 0x4b8]
mov rcx, qword [rbp + 0x4c0]
add rcx, rax
mov qword [rbp + 0x500], rcx
mov qword [rbp + 0x508], rax
mov word [rbp + 0x510], 0
mov rcx, rbx
mov rdx, rsi
call fcn.140016580
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x580], xmm0
movaps xmmword [rbp + 0x590], xmm1
mov rax, qword [rbp + 0x450]
mov qword [r14 + 0x10], rax
movups xmm0, xmmword [rbp + 0x440]
movups xmmword [r14], xmm0
movups xmm0, xmmword [r13]
movups xmm1, xmmword [r13 + 0x10]
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
mov byte [rbp + 0x618], 0
mov rcx, rbx
mov rdx, r15
mov r8, rdi
mov r9, rsi
call fcn.1400125f0
cmp byte [rbp + 0x458], 2
je 0x140024c20
mov rdx, qword [rbp + 0x440]
test rdx, rdx
je 0x140024c20
mov rcx, qword [rbp + 0x448]
mov r8d, 1
call fcn.14000f780
jmp 0x140024c20
mov rcx, qword [rbp + 0x490]
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rdx, qword [rbp + 0x570]
mov rdi, qword [rbp + 0x578]
mov rax, qword [rdx + 0x40]
mov rcx, qword [rdx + 0x48]
xor edx, edx
test rcx, rcx
sete dl
cmove rdi, rcx
add rdx, rdx
mov qword [rbp + 0x440], rdx
mov qword [rbp + 0x448], rax
mov qword [rbp + 0x450], rcx
mov qword [rbp + 0x460], rdx
mov qword [rbp + 0x468], rax
mov qword [rbp + 0x470], rcx
mov qword [rbp + 0x480], rdi
lea r15, [rbp + 0x440]
nop word cs:[rax + rax]
mov rcx, r15
call fcn.14000f800
mov rbx, rax
test rax, rax
je 0x1400253b3
mov r13, rdx
cmp byte [rdx + 0x18], 2
jne 0x140024fc0
mov r14, qword [rbp + 0x4e8]
test r14, r14
je 0x140024da0
mov r9, qword [rbx + 0x28]
mov rax, qword [rbx + 0x30]
mov r12, qword [rbp + 0x4e0]
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x5e0]
mov rdx, r12
mov r8, r14
call fcn.140015a20
cmp qword [rbp + 0x5e0], 0
jne 0x140024da0
mov rdx, qword [rbp + 0x5e8]
mov rax, qword [rbp + 0x5f0]
mov rcx, qword [rbp + 0x5f8]
mov byte [rbp + 0x490], 0
test rdx, rdx
je 0x140025164
mov rcx, qword [rax + rcx*8 + 0x3d8]
mov rax, rdx
dec rax
je 0x140024eee
add rdx, 0xfffffffffffffffe
mov rbx, rax
and rbx, 7
je 0x140024e6a
xor edi, edi
nop word cs:[rax + rax]
movzx esi, word [rcx + 0x3d2]
mov rcx, qword [rcx + rsi*8 + 0x3d8]
inc rdi
cmp rbx, rdi
jne 0x140024e50
sub rax, rdi
cmp rdx, 7
jb 0x140024eee
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
movzx edx, word [rcx + 0x3d2]
mov rcx, qword [rcx + rdx*8 + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x140024e70
movzx eax, word [rcx + 0x3d2]
dec rax
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], rcx
mov qword [rbp + 0x590], rax
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x580]
lea r8, [rbp + 0x490]
call fcn.1400152b0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x550], rax
movups xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x540], xmm0
movups xmm0, xmmword [rbp - 0x30]
movups xmm1, xmmword [rbp - 0x20]
movups xmm2, xmmword [rbp - 0x10]
movups xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x530], xmm3
movaps xmmword [rbp + 0x520], xmm2
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
mov rdx, qword [rbp + 0x30]
mov rax, qword [rbp + 0x38]
movzx ebx, word [rdx + 0x3d2]
mov rcx, rdx
cmp rax, rbx
jb 0x14002519b
nop word cs:[rax + rax]
mov rcx, qword [rdx + 0x160]
test rcx, rcx
je 0x140025199
movzx eax, word [rdx + 0x3d0]
mov rdx, rcx
cmp ax, word [rcx + 0x3d2]
jae 0x140024f90
jmp 0x14002519b
mov r14, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x140024fed
js 0x140027a87
mov edx, 1
mov rcx, rsi
call fcn.14000f770
mov rdi, rax
test rax, rax
jne 0x140024ff2
jmp 0x140027a75
mov edi, 1
mov rcx, rdi
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [rbx + 0x18]
mov qword [rbp + 0x580], rsi
mov qword [rbp + 0x588], rdi
mov qword [rbp + 0x590], rsi
mov byte [rbp + 0x598], al
mov r14, qword [rbx + 0x28]
mov rdi, qword [rbx + 0x30]
test rdi, rdi
je 0x140025065
xor esi, esi
mov rax, rdi
shr rax, 0x3e
sete al
jne 0x140027aa1
lea r12, [rdi + rdi]
mov sil, al
add rsi, rsi
test r12, r12
je 0x14002506f
mov rcx, r12
mov rdx, rsi
call fcn.14000f770
mov rbx, rax
test rbx, rbx
jne 0x14002507b
jmp 0x140027a91
mov ebx, 2
xor r12d, r12d
jmp 0x14002507b
mov rbx, rsi
test rbx, rbx
je 0x140027a91
mov rcx, rbx
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
movups xmm0, xmmword [rbp + 0x580]
movups xmm1, xmmword [rbp + 0x590]
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm1
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rbx
mov qword [rbp], rdi
mov rbx, qword [r13 + 8]
mov rsi, qword [r13 + 0x10]
test rsi, rsi
je 0x1400250d8
js 0x140027a64
mov edx, 1
mov rcx, rsi
call fcn.14000f770
mov rdi, rax
test rax, rax
jne 0x1400250dd
jmp 0x140027aab
mov edi, 1
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
movzx eax, byte [r13 + 0x18]
mov qword [rbp + 0x580], rsi
mov qword [rbp + 0x588], rdi
mov qword [rbp + 0x590], rsi
mov byte [rbp + 0x598], al
mov byte [rbp + 0x619], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp + 0x4e0]
lea r8, [rbp - 0x30]
lea r9, [rbp + 0x580]
call fcn.1400125f0
cmp byte [rbp + 0x518], 2
je 0x140024da0
mov rdx, qword [rbp + 0x500]
test rdx, rdx
je 0x140024da0
mov rcx, qword [rbp + 0x508]
mov r8d, 1
call fcn.14000f780
jmp 0x140024da0
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], rax
mov qword [rbp + 0x590], rcx
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x580]
lea r8, [rbp + 0x490]
call fcn.1400152b0
jmp 0x14002528b
xor ecx, ecx
imul rdx, rax, 0x38
shl rax, 5
mov rbx, qword [rcx + rdx + 0x198]
mov qword [rbp + 0x5b0], rbx
movups xmm0, xmmword [rcx + rdx + 0x168]
movups xmm1, xmmword [rcx + rdx + 0x178]
movups xmm2, xmmword [rcx + rdx + 0x188]
movaps xmmword [rbp + 0x5a0], xmm2
movaps xmmword [rbp + 0x590], xmm1
movaps xmmword [rbp + 0x580], xmm0
mov rbx, qword [rbp + 0x530]
mov qword [rcx + rdx + 0x198], rbx
movaps xmm0, xmmword [rbp + 0x500]
movaps xmm1, xmmword [rbp + 0x510]
movaps xmm2, xmmword [rbp + 0x520]
movups xmmword [rcx + rdx + 0x188], xmm2
movups xmmword [rcx + rdx + 0x178], xmm1
movups xmmword [rcx + rdx + 0x168], xmm0
movups xmm0, xmmword [rcx + rax]
movups xmm1, xmmword [rcx + rax + 0x10]
lea rdx, [rbp + 0x5b8]
movups xmmword [rdx + 0x10], xmm1
movups xmmword [rdx], xmm0
lea rdx, [rbp + 0x538]
movups xmm0, xmmword [rdx]
movups xmm1, xmmword [rdx + 0x10]
movups xmmword [rcx + rax], xmm0
movups xmmword [rcx + rax + 0x10], xmm1
mov rax, qword [rbp + 0x5d0]
mov qword [rbp + 0x20], rax
movaps xmm0, xmmword [rbp + 0x5c0]
movaps xmmword [rbp + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x580]
movaps xmm1, xmmword [rbp + 0x590]
movaps xmm2, xmmword [rbp + 0x5a0]
movaps xmm3, xmmword [rbp + 0x5b0]
movaps xmmword [rbp], xmm3
movaps xmmword [rbp - 0x10], xmm2
movaps xmmword [rbp - 0x20], xmm1
movaps xmmword [rbp - 0x30], xmm0
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x5d0], rax
movaps xmm0, xmmword [rbp + 0x10]
movaps xmmword [rbp + 0x5c0], xmm0
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
movaps xmm2, xmmword [rbp - 0x10]
movaps xmm3, xmmword [rbp]
movaps xmmword [rbp + 0x5b0], xmm3
movaps xmmword [rbp + 0x5a0], xmm2
dec qword [rbp + 0x4f0]
movaps xmmword [rbp + 0x590], xmm1
movaps xmmword [rbp + 0x580], xmm0
cmp byte [rbp + 0x490], 0
je 0x14002531c
test r12, r12
je 0x140027b4a
mov rax, qword [r14 + 0x3d8]
mov qword [rbp + 0x4e8], rax
dec r12
mov qword [rbp + 0x4e0], r12
mov qword [rax + 0x160], 0
mov edx, 0x438
mov r8d, 8
mov rcx, r14
call fcn.14000f780
cmp byte [rbp + 0x598], 2
je 0x140024da0
mov rdi, r15
mov rdx, qword [rbp + 0x580]
mov rbx, qword [rbp + 0x5a0]
mov r12, qword [rbp + 0x5a8]
mov rsi, qword [rbp + 0x5b8]
mov r14, qword [rbp + 0x5c0]
movzx r15d, byte [rbp + 0x5d0]
test rdx, rdx
je 0x14002536e
mov rcx, qword [rbp + 0x588]
mov r8d, 1
call fcn.14000f780
test rbx, rbx
je 0x140025387
add rbx, rbx
mov r8d, 2
mov rcx, r12
mov rdx, rbx
call fcn.14000f780
cmp r15b, 2
mov r15, rdi
je 0x140024da0
test rsi, rsi
je 0x140024da0
mov r8d, 1
mov rcx, r14
mov rdx, rsi
call fcn.14000f780
jmp 0x140024da0
movups xmm0, xmmword [rbp + 0x4e0]
movups xmmword [rbp + 0x428], xmm0
mov rax, qword [rbp + 0x4f0]
mov qword [rbp + 0x438], rax
mov qword [rbp + 0x420], 1
cmp byte [rbp + 0x600], 0
je 0x1400253f7
mov eax, 1
mov qword [rbp + 0x578], rax
xor r15d, r15d
jmp 0x1400255b5
mov ecx, 4
mov edx, 1
call fcn.14000f770
test rax, rax
je 0x140027ba1
mov dword [rax], 0x48544150
mov qword [rbp + 0x580], 4
mov qword [rbp + 0x588], rax
mov qword [rbp + 0x590], 4
mov byte [rbp + 0x598], 0
mov rcx, rax
add rcx, 4
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x500]
lea rdx, [rbp - 0x30]
call fcn.140016580
movups xmm0, xmmword [rbp + 0x580]
movups xmm1, xmmword [rbp + 0x590]
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm1
movups xmm0, xmmword [rbp + 0x500]
movaps xmmword [rbp - 0x10], xmm0
mov rbx, qword [rbp + 0x510]
mov qword [rbp], rbx
mov rdi, qword [rbp - 8]
mov rax, qword [rbp + 0x430]
test rax, rax
je 0x140025574
mov rcx, qword [rbp + 0x428]
mov qword [rbp + 0x578], rcx
mov r14, qword [sym.imp.KERNEL32.dll_CompareStringOrdinal]
lea rcx, [rax + 0x168]
movzx edx, word [rax + 0x3d2]
mov qword [rbp + 0x608], rdx
imul r12, rdx, 0x38
mov qword [rbp + 0x600], rax
lea r13, [rax - 0x10]
mov r15, 0xffffffffffffffff
nop
test r12, r12
je 0x14002551b
lea rsi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rdi
mov edx, ebx
call r14
add r12, 0xffffffffffffffc8
add r13, 0x20
inc r15
mov rcx, rsi
cmp eax, 3
je 0x1400254e0
cmp eax, 1
jne 0x14002554e
jmp 0x140025522
mov r15, qword [rbp + 0x608]
mov rax, qword [rbp + 0x578]
sub rax, 1
jb 0x1400268d8
mov qword [rbp + 0x578], rax
mov rax, qword [rbp + 0x600]
mov rax, qword [rax + r15*8 + 0x3d8]
jmp 0x1400254b3
cmp eax, 2
jne 0x140027ac4
cmp qword [rbp + 0x600], 0
je 0x140025574
mov r15, qword [r13 - 8]
mov r14, qword [r13]
mov rdx, qword [rbp - 0x30]
test rdx, rdx
jne 0x140025580
jmp 0x14002558f
xor r15d, r15d
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x14002558f
mov rcx, qword [rbp - 0x28]
mov r8d, 1
call fcn.14000f780
mov rdx, qword [rbp - 0x10]
test rdx, rdx
je 0x1400255a9
add rdx, rdx
mov r8d, 2
mov rcx, rdi
call fcn.14000f780
mov eax, 1
mov qword [rbp + 0x578], rax
mov rax, qword [rbp + 0x570]
mov rsi, qword [rax + 0x28]
mov r12, qword [rax + 0x30]
test r12, r12
mov qword [rbp + 0x600], rsi
je 0x14002560e
cmp r12, 4
jae 0x1400255df
lea rdx, [0x140022850]
jmp 0x1400255f7
cmp dword [rsi], 0x5c3f5c5c
lea rax, [0x140022860]
lea rdx, [0x140022850]
cmove rdx, rax
movzx ecx, byte [r12 + rsi - 1]
mov byte [rbp + 0x61f], 1
call rdx
test al, al
je 0x1400257fa
lea rax, str.program_path_has_no_file_name
mov qword [rbp + 0x500], rax
mov qword [rbp + 0x508], 0
mov r13, qword [rbp + 0x500]
mov rax, qword [rbp + 0x508]
test rax, rax
je 0x1400257d3
mov rcx, qword [rbp + 0x510]
mov qword [rbp + 0x408], r13
mov qword [rbp + 0x410], rax
mov qword [rbp + 0x418], rcx
cmp rcx, 5
mov rdi, qword [rbp + 0x570]
jb case.0x140025d12.68
cmp word [rax + rcx*2 - 0xa], 0x2e
jne case.0x140025d12.68
cmp word [rax + rcx*2 - 2], 0
je 0x140025cf3
mov rsi, qword [rdi + 0x98]
mov rbx, qword [rdi + 0xa0]
mov r14b, byte [rdi + 0xad]
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
lea rcx, [rbp + 0x580]
xor edx, edx
call fcn.140015ff0
mov rax, qword [rbp + 0x588]
mov rcx, qword [rbp + 0x590]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rbp + 0x590], rcx
mov rax, qword [rbp + 0x600]
add r12, rax
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], rax
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x580]
lea rdx, [rbp - 0x30]
call fcn.1400163f0
mov rdx, qword [rbp + 0x590]
cmp rdx, qword [rbp + 0x580]
jne 0x140025728
lea rcx, [rbp + 0x580]
call fcn.140015ff0
mov rdx, qword [rbp + 0x590]
mov rax, qword [rbp + 0x588]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rbp + 0x590], rdx
lea rax, [rbx + rbx*4]
lea rbx, [rsi + rax*8]
lea r15, [rbp + 0x580]
nop
cmp rsi, rbx
je 0x14002587a
mov rdx, qword [rbp + 0x590]
cmp rdx, qword [rbp + 0x580]
jne 0x140025778
mov rcx, r15
call fcn.140015ff0
mov rdx, qword [rbp + 0x590]
mov rax, qword [rbp + 0x588]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rbp + 0x590], rdx
mov rcx, r15
mov rdx, rsi
mov r8d, r14d
call fcn.140020820
mov rdi, rax
add rsi, 0x28
test rax, rax
je 0x140025750
mov rdx, qword [rbp + 0x580]
test rdx, rdx
je 0x1400259b7
mov rcx, qword [rbp + 0x588]
add rdx, rdx
mov r8d, 2
call fcn.14000f780
jmp 0x1400259b7
mov rax, qword [rbp + 0x568]
mov qword [rax], r13
mov qword [rax + 0x10], 2
mov rax, qword [rbp + 0x578]
test rax, rax
jne 0x1400259f6
jmp 0x140025aa0
cmp r12, 3
jbe 0x140025a2c
movzx eax, byte [r12 + rsi - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x140025a2c
movzx eax, byte [rsi + r12 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x140025a2c
movzx eax, byte [rsi + r12 - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x140025a2c
movzx eax, byte [rsi + r12 - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
sete cl
jmp 0x140025a2e
mov rdi, qword [rbp + 0x580]
mov rsi, qword [rbp + 0x588]
test rsi, rsi
je 0x1400259b7
mov rbx, qword [rbp + 0x590]
mov rax, qword [rbp + 0x418]
mov qword [rbp + 0x4c0], rax
movups xmm0, xmmword [rbp + 0x408]
movaps xmmword [rbp + 0x4b0], xmm0
mov r14, qword [rbp + 0x570]
mov rax, qword [rbp + 0x4c0]
mov qword [rbp + 0x4a0], rax
movaps xmm0, xmmword [rbp + 0x4b0]
movaps xmmword [rbp + 0x490], xmm0
mov qword [rbp + 0x4e0], rdi
mov qword [rbp + 0x4e8], rsi
mov qword [rbp + 0x4f0], rbx
cmp rbx, rdi
jne 0x140025915
mov byte [rbp + 0x61c], 1
lea rcx, [rbp + 0x4e0]
mov rdx, rbx
call fcn.140015ff0
mov rsi, qword [rbp + 0x4e8]
mov rbx, qword [rbp + 0x4f0]
mov word [rsi + rbx*2], 0
inc rbx
mov qword [rbp + 0x4f0], rbx
cmp byte [r14 + 0xac], 0
mov eax, 0x400
mov ecx, 0x608
cmove ecx, eax
or ecx, dword [r14 + 0xa8]
cmp qword [rbp + 0x420], 1
mov dword [rbp + 0x600], ecx
jne 0x140025ca1
mov rsi, qword [rbp + 0x428]
mov rdi, qword [rbp + 0x430]
mov rbx, qword [rbp + 0x438]
mov qword [rbp + 0x4b0], rsi
mov qword [rbp + 0x4b8], rdi
mov qword [rbp + 0x4c0], rbx
mov qword [rbp + 0x5e0], 0
mov qword [rbp + 0x5e8], 2
mov qword [rbp + 0x5f0], 0
test rbx, rbx
je 0x140025fc7
mov r13d, 2
xor r15d, r15d
jmp 0x140025ffc
mov rax, qword [rbp + 0x568]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
test r13, r13
je 0x1400259e6
mov rcx, qword [rbp + 0x410]
add r13, r13
mov r8d, 2
mov rdx, r13
call fcn.14000f780
mov rax, qword [rbp + 0x420]
test rax, rax
je 0x140025aa0
mov rcx, qword [rbp + 0x430]
test rcx, rcx
je 0x140025a80
mov rdx, qword [rbp + 0x428]
mov rax, qword [rbp + 0x438]
mov qword [rbp - 0x30], 0
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x20], rcx
mov qword [rbp - 8], rdx
mov qword [rbp], rcx
xor ecx, ecx
jmp 0x140025a8f
xor ecx, ecx
lea r8, [rsi + r12]
xor edx, edx
nop word cs:[rax + rax]
cmp r12, rdx
je 0x140025acb
movzx eax, byte [rsi + rdx]
cmp eax, 0x2f
je 0x140025a5a
inc rdx
cmp eax, 0x5c
jne 0x140025a40
test cl, cl
je 0x140025b8c
mov byte [rbp + 0x61f], 1
lea rcx, [rbp + 0x500]
mov rdx, rsi
mov r8, r12
call fcn.140022d40
jmp 0x140025627
mov qword [rbp - 0x30], 2
mov ecx, 2
xor eax, eax
mov qword [rbp - 0x10], rcx
mov qword [rbp + 0x10], rax
lea rcx, [rbp - 0x30]
call fcn.140010650
cmp dword [rbp + 0x3f0], 3
jb 0x140025ab6
mov rcx, qword [rbp + 0x3f8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
add rsp, 0x6a8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor edi, edi
mov rcx, rsi
jmp 0x140025aeb
xor edi, edi
test dx, dx
je 0x140025ce7
mov dx, 1
test di, di
jne 0x140025ae0
cmp rcx, r8
je 0x140026499
movzx ebx, byte [rcx]
movzx esi, bl
test sil, sil
js 0x140025b0d
inc rcx
jmp 0x140025b5f
mov edi, esi
and edi, 0x1f
movzx eax, byte [rcx + 1]
and eax, 0x3f
cmp sil, 0xdf
jbe 0x140025b54
movzx esi, byte [rcx + 2]
shl eax, 6
and esi, 0x3f
or esi, eax
cmp bl, 0xf0
jb 0x140025b68
movzx eax, byte [rcx + 3]
add rcx, 4
and edi, 7
shl edi, 0x12
shl esi, 6
and eax, 0x3f
or eax, esi
or eax, edi
mov esi, eax
cmp esi, 0xffff
jbe 0x140025b5f
jmp 0x140025b79
add rcx, 2
shl edi, 6
or edi, eax
mov esi, edi
xor edi, edi
mov edx, esi
jmp 0x140025ae2
add rcx, 3
shl edi, 0xc
or esi, edi
cmp esi, 0xffff
jbe 0x140025b5f
and esi, 0x3ff
or esi, 0xdc00
mov edi, esi
jmp 0x140025ae2
xor esi, esi
test r12, r12
setns al
js 0x140027c4a
mov sil, al
mov rcx, r12
mov rdx, rsi
call fcn.14000f770
test rax, rax
je 0x140027c58
mov rdi, rax
mov rcx, rax
mov rdx, qword [rbp + 0x600]
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp + 0x580], r12
mov qword [rbp + 0x588], rdi
mov qword [rbp + 0x590], r12
mov byte [rbp + 0x598], 0
mov rax, qword [rbp + 0x590]
mov qword [rbp - 0x20], rax
movzx eax, byte [rbp + 0x598]
mov byte [rbp - 0x18], al
mov eax, dword [rbp + 0x599]
mov dword [rbp - 0x17], eax
movzx eax, word [rbp + 0x59d]
mov word [rbp - 0x13], ax
movzx eax, byte [rbp + 0x59f]
mov byte [rbp - 0x11], al
mov rax, qword [rbp + 0x580]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp + 0x588]
mov qword [rbp - 0x28], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rbp - 0x30]
mov r8d, 4
call fcn.140022620
movaps xmm0, xmmword [rbp - 0x30]
movaps xmm1, xmmword [rbp - 0x20]
movaps xmmword [rbp + 0x590], xmm1
movaps xmmword [rbp + 0x580], xmm0
mov r15, qword [rbp + 0x588]
mov r14, qword [rbp + 0x590]
mov byte [rbp + 0x617], 1
lea rcx, [rbp - 0x30]
mov rdx, r15
mov r8, r14
call fcn.140028a00
cmp qword [rbp - 0x28], 0
je 0x140025f6f
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x510], rax
movups xmm0, xmmword [rbp - 0x30]
movaps xmmword [rbp + 0x500], xmm0
jmp 0x14002713b
mov ecx, 2
xor r12d, r12d
xor r15d, r15d
xor r13d, r13d
mov qword [rbp + 0x4b0], r12
mov qword [rbp + 0x4b8], rcx
mov qword [rbp + 0x4c0], r15
cmp byte [r14 + 0x18], 2
jne 0x140025e9f
mov qword [rbp + 0x560], rcx
xor edx, edx
mov eax, 2
xor r15d, r15d
xor edi, edi
jmp 0x1400265d8
lea rax, str.nul_byte_found_in_provided_data
jmp 0x140025615
movzx edx, word [rax + rcx*2 - 8]
lea ebx, [rdx - 0x42]
cmp ebx, 0x21
ja case.0x140025d12.68
lea rsi, [0x14002896c]
movsxd rbx, dword [rsi + rbx*4]
add rbx, rsi
jmp rbx
movzx ebx, word [rax + rcx*2 - 6]
or ebx, 0x20
cmp ebx, 0x61
jne 0x140025d2e
movzx ebx, word [rax + rcx*2 - 4]
or ebx, 0x20
cmp ebx, 0x74
je 0x140025d5c
cmp dx, 0x43
jne case.0x140025d12.68
movzx edx, word [rax + rcx*2 - 6]
or edx, 0x20
cmp edx, 0x6d
jne case.0x140025d12.68
movzx eax, word [rax + rcx*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x140025d12.68
mov qword [rbp + 0x608], r13
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x588], 2
mov qword [rbp + 0x590], 0
mov r13d, 0x200
mov eax, 2
mov qword [rbp + 0x578], rax
xor eax, eax
mov qword [rbp + 0x600], rax
xor r15d, r15d
xor ebx, ebx
cmp r13, 0x201
jb 0x140025dbf
jmp 0x140025dd0
jae 0x1400268a2
cmp r13, 0x201
jae 0x140025dd0
lea rdi, [rbp - 0x30]
mov r14d, 0x200
mov rsi, r13
jmp 0x140025e38
sub r13, rbx
sub r15, rbx
cmp r15, r13
mov r15, qword [rbp + 0x600]
jae 0x140025e09
lea rcx, [rbp + 0x580]
mov rdx, rbx
mov r8, r13
call fcn.14003aff0
mov r15, qword [rbp + 0x580]
mov rax, qword [rbp + 0x588]
mov qword [rbp + 0x578], rax
mov eax, 0xffffffff
cmp r15, rax
mov ebx, 0xffffffff
cmovb rbx, r15
mov qword [rbp + 0x590], rbx
mov rax, r15
mov qword [rbp + 0x600], r15
mov rdi, qword [rbp + 0x578]
mov r14, rbx
mov rsi, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rdi
mov edx, esi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov r12d, eax
test eax, eax
jne 0x140025e60
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140026982
mov r13d, r12d
cmp rsi, r13
jne 0x140025db0
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140027b84
add rsi, rsi
mov eax, 0xffffffff
cmp rsi, rax
cmovae rsi, rax
mov r13, rsi
cmp r13, 0x201
jae 0x140025dd0
jmp 0x140025dbf
mov r8, qword [r14 + 8]
mov r9, qword [r14 + 0x10]
add r9, r8
xor edi, edi
mov r10, r8
jmp 0x140025ecb
xor edi, edi
test bx, bx
je 0x140025fa9
mov bx, 1
test di, di
jne 0x140025ec0
cmp r10, r9
je 0x140026573
movzx eax, byte [r10]
movzx esi, al
test sil, sil
js 0x140025eee
inc r10
jmp 0x140025f42
mov edi, esi
and edi, 0x1f
movzx edx, byte [r10 + 1]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x140025f37
movzx esi, byte [r10 + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp al, 0xf0
jb 0x140025f4b
movzx eax, byte [r10 + 3]
add r10, 4
and edi, 7
shl edi, 0x12
shl esi, 6
and eax, 0x3f
or eax, esi
or eax, edi
mov esi, eax
cmp esi, 0xffff
jbe 0x140025f42
jmp 0x140025f5c
add r10, 2
shl edi, 6
or edi, edx
mov esi, edi
xor edi, edi
mov ebx, esi
jmp 0x140025ec2
add r10, 3
shl edi, 0xc
or esi, edi
cmp esi, 0xffff
jbe 0x140025f42
and esi, 0x3ff
or esi, 0xdc00
mov edi, esi
jmp 0x140025ec2
mov rcx, r15
mov rdx, r14
call fcn.14001bc10
test rax, rax
je 0x140027129
cmp rdx, 2
jne 0x1400264fd
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x1400264fd
mov r8d, 2
xor ecx, ecx
jmp 0x14002654e
lea rax, str.nul_byte_found_in_provided_data
mov rdx, qword [rbp + 0x568]
mov qword [rdx], rax
mov qword [rdx + 0x10], 2
jmp 0x1400267ec
mov byte [rbp + 0x61b], 1
lea rcx, [rbp + 0x5e0]
xor edx, edx
call fcn.140015ff0
mov r13, qword [rbp + 0x5e8]
mov r15, qword [rbp + 0x5f0]
mov word [r13 + r15*2], 0
inc r15
mov qword [rbp + 0x5f0], r15
xor eax, eax
test rdi, rdi
sete al
cmove rbx, rdi
add rax, rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rsi
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rsi
mov qword [rbp], rdi
mov qword [rbp + 0x10], rbx
lea rcx, [rbp + 0x580]
lea rdx, [rbp - 0x30]
call fcn.140013d50
mov rax, qword [rbp + 0x588]
test rax, rax
je 0x140026fd3
mov rbx, qword [rbp + 0x590]
imul rdi, rbx, 0x38
cmp byte [rax + rdi + 0x180], 2
je 0x140026fd3
mov qword [rbp + 0x578], r13
mov rdx, qword [rax + rdi + 0x168]
mov rcx, qword [rax + rdi + 0x170]
mov r8, qword [rax + rdi + 0x178]
mov r13, qword [rax + rdi + 0x188]
mov r12, qword [rax + rdi + 0x190]
mov r14, qword [rax + rdi + 0x198]
shl rbx, 5
movups xmm0, xmmword [rax + rbx]
movups xmm1, xmmword [rax + rbx + 0x10]
movaps xmmword [rbp + 0x510], xmm1
movaps xmmword [rbp + 0x500], xmm0
add r8, rcx
xor eax, eax
mov r9, rcx
jmp 0x1400260cb
xor eax, eax
test si, si
je 0x140026400
mov si, 1
test ax, ax
jne 0x1400260c0
cmp r9, r8
je 0x14002617a
movzx ebx, byte [r9]
movzx edi, bl
test dil, dil
js 0x1400260ee
inc r9
jmp 0x14002614b
mov r10d, edi
and r10d, 0x1f
movzx eax, byte [r9 + 1]
and eax, 0x3f
cmp dil, 0xdf
jbe 0x14002613d
movzx edi, byte [r9 + 2]
shl eax, 6
and edi, 0x3f
or edi, eax
cmp bl, 0xf0
jb 0x140026154
movzx eax, byte [r9 + 3]
add r9, 4
and r10d, 7
shl r10d, 0x12
shl edi, 6
and eax, 0x3f
or eax, edi
or eax, r10d
mov edi, eax
cmp edi, 0xffff
jbe 0x14002614b
jmp 0x140026167
add r9, 2
shl r10d, 6
or r10d, eax
mov edi, r10d
xor eax, eax
mov esi, edi
jmp 0x1400260c2
add r9, 3
shl r10d, 0xc
or edi, r10d
cmp edi, 0xffff
jbe 0x14002614b
and edi, 0x3ff
or edi, 0xdc00
mov eax, edi
jmp 0x1400260c2
test rdx, rdx
je 0x14002618a
mov r8d, 1
call fcn.14000f780
lea rax, [r12 + r14*2]
mov qword [rbp + 0x598], r12
mov qword [rbp + 0x580], r13
mov qword [rbp + 0x588], r12
mov qword [rbp + 0x590], rax
mov rax, qword [rbp + 0x5e0]
sub rax, r15
cmp rax, r14
jae 0x1400261db
lea rcx, [rbp + 0x5e0]
mov rdx, r15
mov r8, r14
call fcn.14003aff0
mov rax, qword [rbp + 0x5e8]
mov r15, qword [rbp + 0x5f0]
jmp 0x1400261e2
mov rax, qword [rbp + 0x578]
lea r8, [r14 + r14]
mov rsi, rax
lea rcx, [rax + r15*2]
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
add r15, r14
mov qword [rbp + 0x5f0], r15
test r13, r13
je 0x140026218
add r13, r13
mov r8d, 2
mov rcx, r12
mov rdx, r13
call fcn.14000f780
cmp r15, qword [rbp + 0x5e0]
jne 0x140026245
mov byte [rbp + 0x61a], 1
lea rcx, [rbp + 0x5e0]
mov rdx, r15
call fcn.140015ff0
mov rsi, qword [rbp + 0x5e8]
mov r15, qword [rbp + 0x5f0]
mov word [rsi + r15*2], 0x3d
inc r15
mov qword [rbp + 0x5f0], r15
mov r14, qword [rbp + 0x500]
mov r15, qword [rbp + 0x508]
mov r9, qword [rbp + 0x510]
movzx r8d, byte [rbp + 0x518]
lea r10, [r15 + r9]
xor eax, eax
mov rdi, r15
jmp 0x14002628b
xor eax, eax
test cx, cx
je 0x1400264d7
mov cx, 1
test ax, ax
jne 0x140026280
cmp rdi, r10
je 0x14002632c
movzx ebx, byte [rdi]
movzx esi, bl
test sil, sil
js 0x1400262ad
inc rdi
jmp 0x1400262ff
mov eax, esi
and eax, 0x1f
movzx edx, byte [rdi + 1]
and edx, 0x3f
cmp sil, 0xdf
jbe 0x1400262f4
movzx esi, byte [rdi + 2]
shl edx, 6
and esi, 0x3f
or esi, edx
cmp bl, 0xf0
jb 0x140026308
movzx edx, byte [rdi + 3]
add rdi, 4
and eax, 7
shl eax, 0x12
shl esi, 6
and edx, 0x3f
or edx, esi
or edx, eax
mov esi, edx
cmp esi, 0xffff
jbe 0x1400262ff
jmp 0x140026319
add rdi, 2
shl eax, 6
or eax, edx
mov esi, eax
xor eax, eax
mov ecx, esi
jmp 0x140026282
add rdi, 3
shl eax, 0xc
or esi, eax
cmp esi, 0xffff
jbe 0x1400262ff
and esi, 0x3ff
or esi, 0xdc00
mov eax, esi
jmp 0x140026282
cmp r8b, 2
je 0x140027a5c
lea rcx, [rbp + 0x519]
mov eax, dword [rcx]
mov ecx, dword [rcx + 3]
lea rdx, [rbp + 0x599]
mov dword [rdx + 3], ecx
mov dword [rdx], eax
mov qword [rbp + 0x580], r14
mov qword [rbp + 0x588], r15
mov qword [rbp + 0x590], r9
mov byte [rbp + 0x598], r8b
mov qword [rbp + 0x440], r10
mov qword [rbp + 0x448], r15
mov word [rbp + 0x450], 0
lea rcx, [rbp + 0x5e0]
lea rdx, [rbp + 0x440]
call fcn.1400163f0
test r14, r14
je 0x1400263aa
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000f780
mov r15, qword [rbp + 0x5f0]
cmp r15, qword [rbp + 0x5e0]
jne 0x1400263d7
mov byte [rbp + 0x61a], 0
lea rcx, [rbp + 0x5e0]
mov rdx, r15
call fcn.140015ff0
mov r15, qword [rbp + 0x5f0]
lea rcx, [rbp + 0x580]
lea rdx, [rbp - 0x30]
mov r13, qword [rbp + 0x5e8]
mov word [r13 + r15*2], 0
inc r15
mov qword [rbp + 0x5f0], r15
jmp 0x140026032
test rdx, rdx
je 0x140026410
mov r8d, 1
call fcn.14000f780
mov rdx, qword [rbp + 0x500]
test rdx, rdx
je 0x14002642e
mov rcx, qword [rbp + 0x508]
mov r8d, 1
call fcn.14000f780
lea rsi, str.nul_byte_found_in_provided_data
test r13, r13
je 0x14002644e
add r13, r13
mov r8d, 2
mov rcx, r12
mov rdx, r13
call fcn.14000f780
mov r13, rsi
mov byte [rbp + 0x61b], 0
lea rcx, [rbp - 0x30]
call fcn.140010650
mov rdx, qword [rbp + 0x5e0]
test rdx, rdx
je 0x140026482
mov rcx, qword [rbp + 0x5e8]
add rdx, rdx
mov r8d, 2
call fcn.14000f780
mov rax, qword [rbp + 0x568]
mov qword [rax], r13
mov qword [rax + 0x10], 2
jmp 0x140026802
cmp r12, 0xf
mov rdi, qword [rbp + 0x600]
ja 0x140026553
xor eax, eax
mov qword [rbp + 0x4f8], rax
xor eax, eax
nop word cs:[rax + rax]
cmp byte [rdi + rax], 0x2e
je 0x14002699b
inc rax
cmp r12, rax
jne 0x1400264c0
jmp 0x1400269a7
lea r13, str.nul_byte_found_in_provided_data
test r14, r14
je 0x140026451
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000f780
jmp 0x140026451
xor edi, edi
mov rcx, rax
nop word cs:[rax + rax]
cmp rdx, rdi
je 0x140026978
mov rsi, rdi
lea rbx, [rcx - 1]
inc rdi
cmp byte [rcx + rdx - 1], 0x2e
mov rcx, rbx
jne 0x140026510
mov r8, rdx
sub r8, rdi
lea rcx, [r8 + 1]
cmp rdx, rcx
jb 0x140027c97
cmp rdx, rdi
jne 0x1400270f7
xor ecx, ecx
mov r8, rdx
jmp 0x140027101
mov byte [rbp + 0x61f], 1
mov cl, 0x2e
mov rdx, rdi
mov r8, r12
call fcn.140037340
mov qword [rbp + 0x4f8], rax
jmp 0x1400269a7
mov qword [rbp + 0x560], rcx
mov qword [rbp - 0x30], r9
mov qword [rbp - 0x28], r8
mov word [rbp - 0x20], 0
lea rcx, [rbp + 0x580]
lea rdx, [rbp - 0x30]
call fcn.140016580
mov r15, qword [rbp + 0x580]
mov rdx, qword [rbp + 0x590]
cmp rdx, r15
jne 0x1400265c5
lea rcx, [rbp + 0x580]
call fcn.140015ff0
mov r15, qword [rbp + 0x580]
mov rdx, qword [rbp + 0x590]
mov rdi, qword [rbp + 0x588]
mov word [rdi + rdx*2], 0
inc rdx
mov rax, rdi
mov qword [rbp + 0x5e0], r15
mov qword [rbp + 0x400], rax
mov qword [rbp + 0x5e8], rax
mov qword [rbp + 0x5f0], rdx
xorps xmm0, xmm0
movaps xmmword [rbp + 0x440], xmm0
mov qword [rbp + 0x450], 0
lea rsi, [0x140058218]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rax, qword [0x1400581d8]
shl rax, 1
test rax, rax
jne 0x140027785
xor eax, eax
movzx ecx, byte [0x140058220]
test cl, cl
mov qword [rbp + 0x578], r13
mov byte [rbp + 0x4f8], cl
mov qword [rbp + 0x3e8], rdi
je 0x14002665c
mov qword [rbp + 0x508], rsi
mov ecx, 1
jmp 0x140026665
mov qword [rbp + 0x508], rsi
xor ecx, ecx
mov dword [rbp + 0x608], eax
mov byte [rbp + 0x510], al
mov qword [rbp + 0x500], rcx
mov qword [rbp + 0x580], 0
mov qword [rbp + 0x590], 0
mov qword [rbp + 0x5a0], 0
mov qword [rbp + 0x3d8], 1
mov r14, qword [rbp + 0x570]
lea rax, [r14 + 0x60]
mov rdi, qword [r14 + 0x60]
mov rbx, qword [r14 + 0x70]
xor edx, edx
cmp rdi, 5
cmove rax, rdx
mov rsi, qword [rbp + 0x3f0]
cmp byte [rbp + 0x4d0], 0
mov ecx, 1
mov qword [rbp + 0x4d0], rsi
cmovne rcx, rsi
lea r13, [rbp + 0x3f8]
lea rsi, [rbp + 0x3e0]
cmovne rsi, r13
add rax, 8
cmp rdi, 5
cmovne rcx, rdi
cmove rax, rsi
lea rdi, [r14 + 0x70]
cmp rbx, 5
cmove rdi, rdx
mov rsi, qword [r14 + 0x80]
sub r14, 0xffffffffffffff80
cmp rsi, 5
cmove r14, rdx
mov rdx, qword [rax]
lea r9, [rbp + 0x580]
mov r8d, 0xfffffff6
call fcn.140028b40
test rax, rax
je 0x14002684d
mov rax, qword [rbp + 0x568]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov edi, dword [rbp + 0x608]
cmp qword [rbp + 0x580], 0
je 0x14002676d
mov rcx, qword [rbp + 0x588]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x590], 0
je 0x140026784
mov rcx, qword [rbp + 0x598]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x5a0], 0
je 0x14002679b
mov rcx, qword [rbp + 0x5a8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [rbp + 0x4f8], 0
test dil, dil
jne 0x1400267bb
mov rax, qword [0x1400581d8]
shl rax, 1
test rax, rax
jne 0x1400279cd
lea rcx, [0x140058218]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test r15, r15
je 0x1400267e5
add r15, r15
mov r8d, 2
mov rcx, qword [rbp + 0x400]
mov rdx, r15
call fcn.14000f780
mov rcx, qword [rbp + 0x560]
test r12, r12
je 0x140026802
add r12, r12
mov r8d, 2
mov rdx, r12
call fcn.14000f780
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
je 0x140026823
mov rcx, qword [rbp + 0x4e8]
add rdx, rdx
mov r8d, 2
call fcn.14000f780
mov rdx, qword [rbp + 0x490]
test rdx, rdx
je 0x140025aa0
mov rcx, qword [rbp + 0x498]
add rdx, rdx
mov r8d, 2
call fcn.14000f780
jmp 0x140025aa0
mov qword [rbp + 0x570], rdx
add rdi, 8
cmp rbx, 5
cmove rbx, qword [rbp + 0x4d0]
lea r9, [rbp + 0x590]
cmove rdi, r13
mov rdx, qword [rdi]
mov rcx, rbx
mov r8d, 0xfffffff5
call fcn.140028b40
test rax, rax
je 0x1400268ed
mov rax, qword [rbp + 0x568]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov edi, dword [rbp + 0x608]
jmp 0x140026958
cmp r14, r13
jb 0x140027c83
test r12d, r12d
je 0x140027380
mov rsi, r13
add rsi, r13
mov edx, 2
mov rcx, rsi
call fcn.14000f770
test rax, rax
je 0x140027ca5
mov r14, rax
jmp 0x140027388
xor r15d, r15d
mov rdx, qword [rbp - 0x30]
test rdx, rdx
jne 0x140025580
jmp 0x14002558f
mov qword [rbp + 0x4d8], rdx
add r14, 8
cmp rsi, 5
cmove rsi, qword [rbp + 0x4d0]
lea r9, [rbp + 0x5a0]
cmove r14, r13
mov rdx, qword [r14]
mov rcx, rsi
mov r8d, 0xfffffff4
call fcn.140028b40
mov rbx, rdx
test rax, rax
mov rcx, qword [rbp + 0x578]
je 0x140027791
mov rax, qword [rbp + 0x568]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
mov edi, dword [rbp + 0x608]
mov rcx, qword [rbp + 0x4d8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x570]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x580], 0
jne 0x140026760
jmp 0x14002676d
mov rcx, rax
xor eax, eax
jmp 0x140027101
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
shl r13, 0x20
or r13, 2
xor r14d, r14d
jmp 0x140027396
mov eax, 1
mov qword [rbp + 0x4f8], rax
test r15, r15
je 0x1400269f0
add r14, r15
mov qword [rbp + 0x580], r14
mov qword [rbp + 0x588], r15
mov word [rbp + 0x590], 0
mov byte [rbp + 0x598], 1
mov byte [rbp + 0x61f], 1
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x580]
call fcn.140022140
movzx eax, byte [rbp - 0x18]
cmp al, 2
jne 0x140026d0a
mov byte [rbp + 0x61f], 1
lea rcx, [rbp + 0x500]
call fcn.1400223b0
cmp byte [rbp + 0x518], 2
jne 0x140026a24
mov byte [rbp + 0x61f], 1
lea rcx, [rbp + 0x500]
call fcn.140011550
jmp 0x140026b0b
movups xmm0, xmmword [rbp + 0x500]
movups xmm1, xmmword [rbp + 0x510]
movaps xmmword [rbp + 0x580], xmm0
movaps xmmword [rbp + 0x590], xmm1
mov rcx, qword [rbp + 0x588]
mov rsi, qword [rbp + 0x590]
mov byte [rbp + 0x616], 1
mov rdx, rsi
call fcn.14001baa0
test rax, rax
je 0x140026a6e
cmp rsi, rdx
jb 0x140026a6e
mov qword [rbp + 0x590], rdx
movaps xmm0, xmmword [rbp + 0x580]
mov rax, qword [rbp + 0x590]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x598]
mov qword [rbp - 0x18], rax
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp - 0x30]
mov rdx, rdi
mov r8, r12
call fcn.14001a950
cmp qword [rbp + 0x4f8], 1
je 0x140026abe
lea rdx, str.exeNULcmd.exefallback_RNG_broken:
lea rcx, [rbp - 0x30]
mov r8d, 3
call fcn.14001b6f0
mov rsi, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x440]
mov rdx, rsi
call fcn.140028a00
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140026aec
mov r8d, 1
mov rcx, rsi
call fcn.14000f780
mov rbx, qword [rbp + 0x448]
test rbx, rbx
je 0x140026b0b
mov rsi, qword [rbp + 0x440]
mov rdi, qword [rbp + 0x450]
jmp 0x140027270
mov qword [rbp + 0x5e0], 0
mov qword [rbp + 0x5e8], 2
mov qword [rbp + 0x5f0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x560], rax
xor eax, eax
mov qword [rbp + 0x608], rax
xor edi, edi
xor r15d, r15d
cmp r8, 0x201
jb 0x140026b6f
jmp 0x140026b80
jae 0x140026c4d
cmp r8, 0x201
jae 0x140026b80
lea r14, [rbp - 0x30]
mov ebx, 0x200
mov rsi, r8
jmp 0x140026be6
sub r8, r15
sub rdi, r15
cmp rdi, r8
mov rdi, qword [rbp + 0x608]
jae 0x140026bb6
lea rcx, [rbp + 0x5e0]
mov rdx, r15
call fcn.14003aff0
mov rdi, qword [rbp + 0x5e0]
mov rax, qword [rbp + 0x5e8]
mov qword [rbp + 0x560], rax
mov eax, 0xffffffff
cmp rdi, rax
mov r15d, 0xffffffff
cmovb r15, rdi
mov qword [rbp + 0x5f0], r15
mov rax, rdi
mov qword [rbp + 0x608], rdi
mov r14, qword [rbp + 0x560]
mov rbx, r15
mov rsi, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, r14
mov edx, esi
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov r13d, eax
test eax, eax
jne 0x140026c0e
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x140026e21
mov r8d, r13d
cmp rsi, r8
jne 0x140026b60
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140027b67
add rsi, rsi
mov eax, 0xffffffff
cmp rsi, rax
cmovae rsi, rax
mov r8, rsi
cmp r8, 0x201
jae 0x140026b80
jmp 0x140026b6f
cmp rbx, r8
jb 0x140027c6c
lea rcx, [rbp + 0x580]
mov rdx, r14
call fcn.1400193d0
lea rcx, [rbp + 0x580]
mov rdx, qword [rbp + 0x600]
mov r8, r12
call fcn.14001a950
mov rdi, qword [rbp + 0x608]
cmp qword [rbp + 0x4f8], 1
je 0x140026ca5
lea rdx, str.exeNULcmd.exefallback_RNG_broken:
lea rcx, [rbp + 0x580]
mov r8d, 3
call fcn.14001b6f0
mov rsi, qword [rbp + 0x588]
mov r8, qword [rbp + 0x590]
lea rcx, [rbp + 0x440]
mov rdx, rsi
call fcn.140028a00
mov rdx, qword [rbp + 0x580]
test rdx, rdx
je 0x140026cdc
mov r8d, 1
mov rcx, rsi
call fcn.14000f780
movups xmm0, xmmword [rbp + 0x440]
movups xmmword [rbp + 0x508], xmm0
mov rax, qword [rbp + 0x450]
mov qword [rbp + 0x518], rax
mov qword [rbp + 0x500], 0
xor esi, esi
jmp 0x140026e4b
lea r13, [rbp - 0x17]
lea r15, [rbp - 0x30]
lea r14, [rbp + 0x580]
jmp 0x140026d3e
mov byte [rbp + 0x61f], 1
mov rcx, r15
mov rdx, r14
call fcn.140022140
movzx eax, byte [rbp - 0x18]
cmp al, 2
je 0x1400269f0
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
jne 0x140026d61
test rdx, rdx
je 0x140026d20
mov r8d, 1
call fcn.14000f780
jmp 0x140026d20
mov esi, dword [r13]
mov edi, dword [r13 + 3]
mov dword [rbp + 0x4e3], edi
mov rdi, qword [rbp + 0x600]
mov dword [rbp + 0x4e0], esi
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
mov byte [rbp - 0x18], al
mov eax, dword [rbp + 0x4e0]
mov ecx, dword [rbp + 0x4e3]
mov dword [r13 + 3], ecx
mov dword [r13], eax
mov rcx, r15
mov rdx, rdi
mov r8, r12
call fcn.14001a950
cmp qword [rbp + 0x4f8], 1
je 0x140026dcc
mov r8d, 3
mov rcx, r15
lea rdx, str.exeNULcmd.exefallback_RNG_broken:
call fcn.14001b6f0
mov rbx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x500]
mov rdx, rbx
call fcn.140028a00
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x140026dfa
mov r8d, 1
mov rcx, rbx
call fcn.14000f780
mov rbx, qword [rbp + 0x508]
test rbx, rbx
jne 0x140027a14
mov byte [rbp + 0x61f], 1
mov rcx, r15
mov rdx, r14
call fcn.140022140
jmp 0x140026d32
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x508], rax
mov qword [rbp + 0x500], 1
mov sil, 1
mov rdi, qword [rbp + 0x608]
test rdi, rdi
je 0x140026e68
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x560]
mov rdx, rdi
call fcn.14000f780
mov rbx, qword [rbp + 0x510]
test rbx, rbx
sete al
or sil, al
cmp sil, 1
jne 0x140027262
mov byte [rbp + 0x61f], 1
lea rcx, [rbp + 0x500]
call fcn.1400103f0
mov qword [rbp + 0x5e0], 0
mov qword [rbp + 0x5e8], 2
mov qword [rbp + 0x5f0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rbp + 0x560], rax
xor eax, eax
mov qword [rbp + 0x608], rax
xor r13d, r13d
xor r15d, r15d
cmp r8, 0x201
jb 0x140026ef8
jmp 0x140026f07
mov rsi, qword [rbp + 0x600]
jae 0x14002703e
cmp r8, 0x201
jae 0x140026f07
lea rbx, [rbp - 0x30]
mov r14d, 0x200
mov rsi, r8
jmp 0x140026f6d
sub r8, r15
sub r13, r15
cmp r13, r8
mov r13, qword [rbp + 0x608]
jae 0x140026f3d
lea rcx, [rbp + 0x5e0]
mov rdx, r15
call fcn.14003aff0
mov r13, qword [rbp + 0x5e0]
mov rax, qword [rbp + 0x5e8]
mov qword [rbp + 0x560], rax
mov eax, 0xffffffff
cmp r13, rax
mov r15d, 0xffffffff
cmovb r15, r13
mov qword [rbp + 0x5f0], r15
mov rax, r13
mov qword [rbp + 0x608], r13
mov rbx, qword [rbp + 0x560]
mov r14, r15
mov rsi, r15
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rcx, rbx
mov edx, esi
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov edi, eax
test eax, eax
jne 0x140026f94
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14002715e
mov r8d, edi
cmp rsi, r8
jne 0x140026ee2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x140027c30
add rsi, rsi
mov eax, 0xffffffff
cmp rsi, rax
cmovae rsi, rax
mov r8, rsi
cmp r8, 0x201
jae 0x140026f07
jmp 0x140026ef8
mov byte [rbp + 0x61b], 0
lea rcx, [rbp - 0x30]
call fcn.140010650
mov r14, qword [rbp + 0x570]
cmp r15, qword [rbp + 0x5e0]
jne 0x140027017
mov byte [rbp + 0x61b], 0
lea rcx, [rbp + 0x5e0]
mov rdx, r15
call fcn.140015ff0
mov r13, qword [rbp + 0x5e8]
mov r15, qword [rbp + 0x5f0]
mov word [r13 + r15*2], 0
mov rcx, qword [rbp + 0x5e8]
test rcx, rcx
je 0x140026482
inc r15
mov r12, qword [rbp + 0x5e0]
jmp 0x140025caf
cmp r14, r8
jb 0x140027cb4
lea rcx, [rbp + 0x580]
mov rdx, rbx
call fcn.1400193d0
lea rcx, [rbp + 0x580]
mov rdx, rsi
mov r8, r12
call fcn.14001a950
mov rdi, qword [rbp + 0x608]
cmp qword [rbp + 0x4f8], 1
je 0x140027092
lea rdx, str.exeNULcmd.exefallback_RNG_broken:
lea rcx, [rbp + 0x580]
mov r8d, 3
call fcn.14001b6f0
mov rsi, qword [rbp + 0x588]
mov r8, qword [rbp + 0x590]
lea rcx, [rbp + 0x440]
mov rdx, rsi
call fcn.140028a00
mov rdx, qword [rbp + 0x580]
test rdx, rdx
je 0x1400270c9
mov r8d, 1
mov rcx, rsi
call fcn.14000f780
movups xmm0, xmmword [rbp + 0x440]
movups xmmword [rbp + 0x508], xmm0
mov rax, qword [rbp + 0x450]
mov qword [rbp + 0x518], rax
mov qword [rbp + 0x500], 0
xor esi, esi
jmp 0x140027188
lea rcx, [rbx + rdx]
inc rcx
mov rdx, rsi
test rax, rax
cmovne rcx, rax
test rcx, rcx
je 0x140027129
test rax, rax
cmove r8, rdx
add rcx, r8
sub rcx, r15
cmp r14, rcx
jb 0x140027129
mov qword [rbp + 0x590], rcx
mov r14, rcx
lea rcx, [rbp + 0x500]
mov rdx, r15
mov r8, r14
call fcn.140022d40
mov rdx, qword [rbp + 0x580]
test rdx, rdx
je 0x140025627
mov r8d, 1
mov rcx, r15
call fcn.14000f780
jmp 0x140025627
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x508], rax
mov qword [rbp + 0x500], 1
mov sil, 1
mov rdi, qword [rbp + 0x608]
test rdi, rdi
je 0x1400271a5
add rdi, rdi
mov r8d, 2
mov rcx, qword [rbp + 0x560]
mov rdx, rdi
call fcn.14000f780
mov rbx, qword [rbp + 0x510]
test rbx, rbx
sete al
or sil, al
cmp sil, 1
jne 0x140027262
mov byte [rbp + 0x61f], 1
lea rcx, [rbp + 0x500]
call fcn.1400103f0
mov byte [rbp + 0x61f], 1
lea rdx, str.PATHlibrary_std_src_sys_commonprocess.rs
lea rcx, [rbp + 0x440]
mov r8d, 4
call fcn.140017510
cmp byte [rbp + 0x458], 2
je 0x140027979
movups xmm0, xmmword [rbp + 0x440]
movups xmm1, xmmword [rbp + 0x450]
movaps xmmword [rbp + 0x500], xmm0
movaps xmmword [rbp + 0x510], xmm1
mov rcx, qword [rbp + 0x508]
mov rax, qword [rbp + 0x510]
add rax, rcx
mov qword [rbp + 0x580], rax
mov qword [rbp + 0x608], rcx
mov qword [rbp + 0x588], rcx
mov word [rbp + 0x590], 0
mov byte [rbp + 0x598], 1
lea r13, [rbp - 0x17]
lea r14, [rbp - 0x30]
lea r15, [rbp + 0x580]
jmp 0x14002729a
mov rsi, qword [rbp + 0x508]
mov rdi, qword [rbp + 0x518]
mov qword [rbp + 0x500], rsi
mov qword [rbp + 0x508], rbx
mov qword [rbp + 0x510], rdi
jmp 0x140025627
mov rbx, qword [rbp + 0x5e8]
test rbx, rbx
jne 0x140027a27
mov rcx, r14
mov rdx, r15
call fcn.140022140
jmp 0x1400272b2
mov rcx, r14
mov rdx, r15
call fcn.140022140
movzx eax, byte [rbp - 0x18]
cmp al, 2
je 0x14002795b
mov rdx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x28]
mov rbx, qword [rbp - 0x20]
test rbx, rbx
jne 0x1400272e1
test rdx, rdx
je 0x1400272a7
mov r8d, 1
call fcn.14000f780
jmp 0x1400272a7
mov esi, dword [r13]
mov edi, dword [r13 + 3]
mov dword [rbp + 0x4b3], edi
mov dword [rbp + 0x4b0], esi
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rbx
mov byte [rbp - 0x18], al
mov eax, dword [rbp + 0x4b0]
mov ecx, dword [rbp + 0x4b3]
mov dword [r13 + 3], ecx
mov dword [r13], eax
mov rcx, r14
mov rdx, qword [rbp + 0x600]
mov r8, r12
call fcn.14001a950
cmp qword [rbp + 0x4f8], 1
je 0x140027349
mov r8d, 3
mov rcx, r14
lea rdx, str.exeNULcmd.exefallback_RNG_broken:
call fcn.14001b6f0
mov rbx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x20]
lea rcx, [rbp + 0x5e0]
mov rdx, rbx
call fcn.140028a00
mov rdx, qword [rbp - 0x30]
test rdx, rdx
je 0x14002728a
mov r8d, 1
mov rcx, rbx
call fcn.14000f780
jmp 0x14002728a
mov r14d, 2
xor esi, esi
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp + 0x600]
test rdx, rdx
je 0x1400273b7
add rdx, rdx
mov r8d, 2
mov rcx, qword [rbp + 0x578]
call fcn.14000f780
test r14, r14
je 0x140027752
mov qword [rbp + 0x500], r13
mov qword [rbp + 0x508], r14
mov qword [rbp + 0x510], r13
lea rdx, [0x14004b206]
lea rcx, [rbp - 0x30]
mov r8d, 8
call fcn.140038c60
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x596], rax
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x586], xmm0
movaps xmm0, xmmword [0x140048790]
movaps xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], 1
mov word [rbp - 0x18], 0
movups xmm0, xmmword [rbp + 0x580]
movups xmmword [rbp - 0x16], xmm0
mov rax, qword [rbp + 0x58e]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x596]
mov qword [rbp], rax
mov rax, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
mov qword [rbp + 0x600], rax
lea r12, [rax + 3]
xor esi, esi
lea rbx, [rbp + 0x500]
xor eax, eax
mov rcx, rdi
mov rdx, rdi
jmp 0x14002747f
mov word [r14 + r13*2], r15w
inc r13
mov qword [rbp + 0x510], r13
test rdx, rdx
je 0x14002754e
movzx r15d, word [rbp]
test r15w, r15w
je 0x1400274a7
mov word [rbp], 0
cmp qword [rbp + 0x500], r13
jne 0x140027470
jmp 0x1400275a0
cmp rcx, qword [rbp + 0x600]
je 0x140027542
mov r10, rbx
lea rdi, [rcx + 1]
mov qword [rbp - 8], rdi
movzx ebx, byte [rcx]
movzx r15d, bl
test r15b, r15b
jns 0x140027584
mov r9d, r15d
and r9d, 0x1f
lea rdi, [rcx + 2]
mov qword [rbp - 8], rdi
movzx edx, byte [rcx + 1]
and edx, 0x3f
cmp r15b, 0xdf
jbe 0x14002757a
lea rdi, [rcx + 3]
mov qword [rbp - 8], rdi
movzx r8d, byte [rcx + 2]
shl edx, 6
and r8d, 0x3f
or r8d, edx
cmp bl, 0xf0
jb 0x1400275e3
lea rdi, [rcx + 4]
mov qword [rbp - 8], rdi
movzx r15d, byte [rcx + 3]
and r9d, 7
shl r9d, 0x12
shl r8d, 6
and r15d, 0x3f
or r15d, r8d
or r15d, r9d
cmp r15d, 0x110000
mov rbx, r10
jne 0x1400275f0
mov qword [rbp - 8], 0
xor edi, edi
xor ecx, ecx
cmp rax, 1
je 0x14002763d
lea rsi, [rax + 1]
mov qword [rbp - 0x28], rsi
movzx r15d, word [rbp + rax*2 - 0x18]
mov rax, rsi
xor edx, edx
cmp qword [rbp + 0x500], r13
jne 0x140027470
jmp 0x1400275a0
shl r9d, 6
or r9d, edx
mov r15d, r9d
mov rbx, r10
mov rcx, rdi
mov rdx, rdi
cmp qword [rbp + 0x500], r13
jne 0x140027470
nop word [rax + rax]
test rdi, rdi
je 0x1400275b7
mov r8, r12
sub r8, rdi
shr r8, 2
sub r8, rsi
inc r8
jmp 0x1400275c0
mov r8d, 1
sub r8, rsi
inc r8
mov rcx, rbx
mov rdx, r13
call fcn.14003aff0
mov r14, qword [rbp + 0x508]
mov rax, rsi
mov rcx, rdi
mov rdx, rdi
jmp 0x140027470
shl r9d, 0xc
or r8d, r9d
mov r15d, r8d
mov rbx, r10
cmp r15d, 0xffff
jbe 0x140027587
add r15d, 0xffff0000
mov ebx, r15d
shr ebx, 0xa
or ebx, 0xd800
and r15d, 0x3ff
or r15d, 0xdc00
mov word [rbp], r15w
mov rcx, rdi
mov rdx, rdi
mov r15d, ebx
mov rbx, r10
cmp qword [rbp + 0x500], r13
jne 0x140027470
jmp 0x1400275a0
mov rbx, qword [rbp + 0x500]
mov r14, qword [rbp + 0x508]
test r14, r14
je 0x14002775e
mov qword [rbp + 0x5e0], rbx
mov qword [rbp + 0x5e8], r14
mov qword [rbp + 0x5f0], r13
mov rax, qword [rbp + 0x418]
mov qword [rbp - 0x20], rax
movups xmm0, xmmword [rbp + 0x408]
movaps xmmword [rbp - 0x30], xmm0
lea rcx, [rbp + 0x580]
lea rdx, [rbp - 0x30]
call fcn.1400213d0
mov r12, qword [rbp + 0x580]
mov r15, qword [rbp + 0x588]
test r15, r15
je 0x14002792c
mov r8, qword [rbp + 0x590]
mov qword [rbp + 0x500], r12
mov qword [rbp + 0x508], r15
mov qword [rbp + 0x510], r8
mov rcx, qword [rbp + 0x570]
mov r9, qword [rcx + 0x98]
mov rax, qword [rcx + 0xa0]
movzx ecx, byte [rcx + 0xad]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rbp + 0x440]
mov rdx, r15
call fcn.140020dc0
mov rdi, qword [rbp + 0x440]
mov rsi, qword [rbp + 0x448]
test rsi, rsi
je 0x140027985
mov rbx, qword [rbp + 0x450]
mov rax, qword [rbp + 0x5f0]
mov qword [rbp + 0x4c0], rax
movups xmm0, xmmword [rbp + 0x5e0]
movaps xmmword [rbp + 0x4b0], xmm0
test r12, r12
je 0x1400258b4
add r12, r12
mov r8d, 2
mov rcx, r15
mov rdx, r12
call fcn.14000f780
jmp 0x1400258b4
mov rbx, r13
mov r13, qword [rbp + 0x608]
jmp 0x140027765
mov r13, qword [rbp + 0x408]
mov rax, qword [rbp + 0x568]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
test r13, r13
jne 0x1400259ce
jmp 0x1400259e6
call fcn.14003b240
xor al, 1
jmp 0x14002662f
xorps xmm0, xmm0
movups xmmword [rbp + 4], xmm0
movups xmmword [rbp - 8], xmm0
movups xmmword [rbp - 0x18], xmm0
movups xmmword [rbp - 0x28], xmm0
movups xmmword [rbp + 0x18], xmm0
movups xmmword [rbp + 0x28], xmm0
mov dword [rbp - 0x30], 0x68
test rbx, rbx
mov rax, qword [rbp + 0x570]
mov rdx, qword [rbp + 0x4d8]
jne 0x1400277d0
test rdx, rdx
jne 0x1400277d0
test rax, rax
je 0x1400277e3
mov dword [rbp + 0xc], 0x100
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rdx
mov qword [rbp + 0x30], rbx
mov r14, qword [rbp + 0x498]
mov rsi, qword [rbp + 0x4e8]
lea rax, [rbp + 0x440]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x40], rax
mov rax, qword [rbp + 0x3e8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rcx
mov eax, dword [rbp + 0x600]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
mov edi, dword [rbp + 0x608]
je 0x1400279e6
movups xmm0, xmmword [rbp + 0x580]
movups xmm1, xmmword [rbp + 0x590]
movups xmm2, xmmword [rbp + 0x5a0]
mov rax, qword [rbp + 0x568]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rbp + 0x440]
movups xmmword [rax], xmm0
mov rdi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call rdi
mov rcx, qword [rbp + 0x4d8]
call rdi
mov rcx, qword [rbp + 0x570]
call rdi
lea rcx, [rbp + 0x500]
call fcn.140010860
test r15, r15
je 0x1400278c2
add r15, r15
mov r8d, 2
mov rcx, qword [rbp + 0x400]
mov rdx, r15
call fcn.14000f780
test r12, r12
je 0x1400278df
add r12, r12
mov r8d, 2
mov rcx, qword [rbp + 0x560]
mov rdx, r12
call fcn.14000f780
mov rdx, qword [rbp + 0x4e0]
test rdx, rdx
je 0x1400278fc
add rdx, rdx
mov r8d, 2
mov rcx, rsi
call fcn.14000f780
mov rdx, qword [rbp + 0x490]
test rdx, rdx
je 0x140027919
add rdx, rdx
mov r8d, 2
mov rcx, r14
call fcn.14000f780
cmp qword [rbp + 0x4d0], 3
jae 0x140025aa9
jmp 0x140025ab6
mov rax, qword [rbp + 0x568]
mov qword [rax], r12
mov qword [rax + 0x10], 2
test rbx, rbx
je 0x1400259e6
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov rdx, rbx
jmp 0x1400259e1
mov rdx, qword [rbp + 0x500]
test rdx, rdx
je 0x140027979
mov r8d, 1
mov rcx, qword [rbp + 0x608]
call fcn.14000f780
lea rax, [0x14004b1e8]
jmp 0x140025615
mov rax, qword [rbp + 0x568]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
test rbx, rbx
je 0x1400279b0
add rbx, rbx
mov r8d, 2
mov rcx, r14
mov rdx, rbx
call fcn.14000f780
test r12, r12
je 0x1400259e6
add r12, r12
mov r8d, 2
mov rcx, r15
mov rdx, r12
jmp 0x1400259e1
call fcn.14003b240
test al, al
jne 0x1400267bb
mov byte [0x140058220], 1
jmp 0x1400267bb
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov rcx, qword [rbp + 0x568]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14002694b
mov rsi, qword [rbp + 0x500]
mov rdi, qword [rbp + 0x510]
jmp 0x140027270
mov rsi, qword [rbp + 0x5e0]
mov rdi, qword [rbp + 0x5f0]
mov rdx, qword [rbp + 0x500]
test rdx, rdx
je 0x140027270
mov r8d, 1
mov rcx, qword [rbp + 0x608]
call fcn.14000f780
jmp 0x140027270
mov r13, r14
jmp 0x140026451
mov byte [rbp + 0x619], 1
call fcn.140033bc0
jmp 0x140027cc9
mov edx, 1
mov rcx, rsi
call fcn.14003ba60
jmp 0x140027cc9
call fcn.140033bc0
jmp 0x140027cc9
mov rcx, r12
mov rdx, rsi
call fcn.14003ba60
jmp 0x140027cc9
call fcn.140033bc0
jmp 0x140027cc9
mov byte [rbp + 0x619], 1
mov edx, 1
mov rcx, rsi
call fcn.14003ba60
jmp 0x140027cc9
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x440], rax
lea rax, [rbp + 0x440]
mov qword [rbp + 0x500], rax
lea rax, [0x140017f60]
mov qword [rbp + 0x508], rax
lea rax, str.comparing_environment_keys_failed:
mov qword [rbp + 0x590], rax
mov qword [rbp + 0x598], 1
mov qword [rbp + 0x580], 0
lea rax, [rbp + 0x500]
mov qword [rbp + 0x5a0], rax
mov qword [rbp + 0x5a8], 1
lea rdx, str.library_std_src_syswindowsprocess.rs
lea rcx, [rbp + 0x580]
call fcn.14003ba80
jmp 0x140027cc9
lea rcx, str.assertion_failed:_self.height___0
lea r8, [0x140048de8]
mov edx, 0x21
call fcn.14003bb20
jmp 0x140027cc9
lea rcx, [0x140048f50]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14003bb20
jmp 0x140027cc9
lea rcx, [0x140048f50]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14003bb20
jmp 0x140027cc9
mov byte [rbp + 0x61f], 1
mov ecx, 4
mov edx, 1
call fcn.14003ba60
jmp 0x140027cc9
call qword [sym.imp.KERNEL32.dll_GetLastError]
shl rax, 0x20
or rax, 2
mov qword [rbp + 0x500], rax
lea rax, [rbp + 0x500]
mov qword [rbp + 0x580], rax
lea rax, [0x140017f60]
mov qword [rbp + 0x588], rax
lea rax, str.failure_getting_env_string_from_OS:
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x18], 1
mov qword [rbp - 0x30], 0
lea rax, [rbp + 0x580]
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], 1
lea rdx, str.library_std_src_syswindowsos.rs
lea rcx, [rbp - 0x30]
call fcn.14003ba80
jmp 0x140027cc9
lea rcx, [0x140048f50]
lea r8, str.library_std_src_syswindowsmod.rs
mov edx, 0x28
call fcn.14003bb20
jmp 0x140027cc9
mov byte [rbp + 0x61f], 1
call fcn.140033bc0
jmp 0x140027cc9
mov byte [rbp + 0x61f], 1
mov rcx, r12
mov rdx, rsi
call fcn.14003ba60
jmp 0x140027cc9
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, rbx
mov r8, rax
call fcn.14003bf10
jmp 0x140027cc9
lea r8, str.library_std_src_syswindowsmod.rs
mov rcx, r13
mov rdx, r14
call fcn.14003bf10
jmp 0x140027cc9
lea r8, str._rustc_c5c7d2b37780dac1092e75f12ab97dd56c30861dlibrarycore_src_sliceiter.rs
call fcn.14003bf00
jmp 0x140027cc9
mov edx, 2
mov rcx, rsi
call fcn.14003ba60
jmp 0x140027cc9
lea rax, str.library_std_src_syswindowsmod.rs
mov rcx, r8
mov rdx, r14
mov r8, rax
call fcn.14003bf10
ud2