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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x628
movdqa xmmword [rsp + 0x610], xmm6
mov qword [rsp + 0x150], rcx
mov dword [rsp + 0x200], 0
movzx eax, byte [rdx + 0xa0]
test al, al
sete cl
mov qword [rsp + 0x158], rdx
mov r8, qword [rdx + 0x98]
test r8, r8
sete dl
and dl, cl
mov byte [rsp + 0x1e0], dl
je 0x14006e142
xor esi, esi
jmp 0x14006ef1e
mov qword [rsp + 0x190], 0
mov qword [rsp + 0x1a0], 0
test al, al
je 0x14006e17b
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 0x88]
test rax, rax
jne 0x14006e385
jmp 0x14006ed84
mov qword [rsp + 0x78], r8
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x140072043
mov rsi, rax
cmp word [rax], 0
je 0x14006e360
lea rbx, [rsp + 0x230]
lea r15, [rsp + 0xe0]
lea r12, [rsp + 0x90]
mov rdi, rsi
jmp 0x14006e1ce
cmp word [rbp], 0
mov rdi, rbp
je 0x14006e360
mov rcx, 0xfffffffffffffffe
xor edx, edx
nop word [rax + rax]
mov r14, rdx
mov rax, rcx
inc rdx
add rcx, 2
cmp word [rdi + r14*2], 0
jne 0x14006e1e0
lea rbp, [rdi + rdx*2]
cmp r14, 1
je 0x14006e1c0
test r14, r14
je 0x1400717a7
xor r13d, r13d
nop dword [rax + rax]
cmp word [rdi + r13*2 + 2], 0x3d
je 0x14006e230
inc r13
add rax, 0xfffffffffffffffe
jne 0x14006e210
jmp 0x14006e1c0
cmp r13, r14
jae 0x1400717a7
lea r8, [r13 + 1]
mov rcx, r15
mov rdx, rdi
call fcn.140065d50
add r13, 2
sub r14, r13
jb 0x1400717a7
lea rdx, [rdi + r13*2]
mov rcx, rbx
mov r8, r14
call fcn.140065d50
movups xmm0, xmmword [rsp + 0xe0]
movups xmm1, xmmword [rsp + 0xf0]
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x210], xmm0
mov rdi, qword [rsp + 0x210]
mov r14, qword [rsp + 0x218]
movdqa xmm6, xmmword [rsp + 0x220]
movdqu xmm0, xmmword [rbx]
movdqu xmm1, xmmword [rbx + 0x10]
movdqa xmmword [rsp + 0x90], xmm0
movdqa xmmword [rsp + 0xa0], xmm1
movabs rax, 0x8000000000000000
cmp rdi, rax
je 0x14006e360
movq rax, xmm6
add rax, r14
mov qword [rsp + 0xe0], r14
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x230]
mov rdx, r15
call fcn.140078c30
mov qword [rsp + 0x210], rdi
mov qword [rsp + 0x218], r14
movdqu xmmword [rsp + 0x220], xmm6
mov rcx, r15
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x210]
mov r9, r12
call fcn.140067360
mov rax, qword [rsp + 0xe0]
shl rax, 1
test rax, rax
je 0x14006e1c0
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x14006e1c0
mov rcx, rsi
call sub.kernel32.dll_FreeEnvironmentStringsW
mov r8, qword [rsp + 0x78]
mov rax, qword [rsp + 0x158]
mov rax, qword [rax + 0x88]
test rax, rax
je 0x14006ed84
test r8, r8
je 0x14006ed84
mov rcx, qword [rsp + 0x158]
mov r9, qword [rcx + 0x90]
xor r14d, r14d
jmp 0x14006e3cd
call sub.kernel32.dll_HeapFree
mov eax, 0
mov r8, qword [rsp + 0x78]
dec r8
mov r9, qword [rsp + 0x58]
je 0x14006ed84
test r14, r14
jne 0x14006e463
test r9, r9
je 0x14006e404
mov rdx, r9
and rdx, 7
je 0x14006e409
mov rcx, r9
and rcx, 0xfffffffffffffff8
mov r14, rax
nop
mov r14, qword [r14 + 0x3d8]
dec rdx
jne 0x14006e3f0
cmp r9, 8
jae 0x14006e420
jmp 0x14006e45e
mov r14, rax
jmp 0x14006e45e
mov r14, rax
mov rcx, r9
cmp r9, 8
jb 0x14006e45e
nop word cs:[rax + rax]
mov rax, qword [r14 + 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 r14, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14006e420
xor r9d, r9d
xor eax, eax
movzx ecx, word [r14 + 0x3d2]
mov rbx, r14
mov rbp, r9
cmp r9, rcx
jb 0x14006e4a6
nop word cs:[rax + rax]
mov rcx, qword [rbx + 0x160]
test rcx, rcx
je 0x1400717a7
inc rax
movzx ebp, word [rbx + 0x3d0]
mov rbx, rcx
cmp bp, word [rcx + 0x3d2]
jae 0x14006e480
test rax, rax
mov qword [rsp + 0x78], r8
je 0x14006e540
mov r14, qword [rbx + rbp*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x14006e52e
mov rdx, rcx
and rdx, 7
je 0x14006e4e5
mov rcx, rdx
mov r14, qword [r14 + 0x3d8]
dec rcx
jne 0x14006e4d0
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x14006e52e
nop
mov rax, qword [r14 + 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 r14, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x14006e4f0
xor r13d, r13d
jmp 0x14006e547
lea r13, [rbp + 1]
mov r14, rbx
imul rax, rbp, 0x38
lea r15, [rbx + rax]
add r15, 0x168
shl rbp, 5
movabs rax, 0x8000000000000000
cmp qword [rbx + rbp], rax
mov qword [rsp + 0x58], r13
jne 0x14006e670
mov rax, qword [rsp + 0x190]
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14006e3b5
mov rax, qword [rsp + 0x198]
mov r12, qword [r15 + 0x28]
mov edi, dword [r15 + 0x30]
lea ecx, [rax + 7]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x80], rax
mov r15, qword [rsp + 0x88]
lea rcx, [r15 + 0x168]
movzx r13d, word [r15 + 0x3d2]
imul rbp, r13, 0x38
mov rsi, 0xffffffffffffffff
nop word cs:[rax + rax]
test rbp, rbp
je 0x14006e630
lea rbx, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, r12
mov edx, edi
call sub.kernel32.dll_CompareStringOrdinal
inc rsi
add rbp, 0xffffffffffffffc8
mov rcx, rbx
cmp eax, 3
je 0x14006e5e0
cmp eax, 1
jne 0x14006e6d0
mov rax, qword [rsp + 0x80]
test rax, rax
jne 0x14006e644
jmp 0x14006e3b5
mov rsi, r13
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14006e3b5
mov r15, qword [r15 + rsi*8 + 0x3d8]
dec rax
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x68]
add al, 7
mov dword [rsp + 0x68], eax
jmp 0x14006e5b8
mov rdi, qword [r15 + 8]
mov rsi, qword [r15 + 0x10]
test rsi, rsi
je 0x14006e8cc
js 0x1400717a7
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x14006e6af
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r12, rax
test rax, rax
jne 0x14006e8d2
jmp 0x1400717a7
cmp eax, 2
mov r9, qword [rsp + 0x80]
jne 0x140072043
mov byte [rsp + 0x77], 0
test r9, r9
je 0x14006ea87
mov rax, qword [r15 + rsi*8 + 0x3d8]
mov rcx, r9
dec rcx
je 0x14006e7ce
test cl, 7
je 0x14006e746
movzx ecx, byte [rsp + 0x68]
and ecx, 7
neg rcx
mov edx, 1
nop dword [rax + rax]
movzx r8d, word [rax + 0x3d2]
mov rax, qword [rax + r8*8 + 0x3d8]
lea r8, [rcx + rdx]
inc r8
inc rdx
cmp r8, 1
jne 0x14006e720
mov rcx, r9
sub rcx, rdx
add r9, 0xfffffffffffffffe
cmp r9, 7
jb 0x14006e7ce
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 0x14006e750
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], rcx
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x160]
lea r8, [rsp + 0x77]
call fcn.140064d70
mov rax, qword [rsp + 0x240]
mov qword [rsp + 0xc0], rax
movups xmm0, xmmword [rsp + 0x210]
movups xmm1, xmmword [rsp + 0x220]
movdqu xmm2, xmmword [rsp + 0x230]
movdqa xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
lea rax, [rsp + 0x248]
movdqu xmm0, xmmword [rax]
movdqu xmm1, xmmword [rax + 0x10]
movdqa xmmword [rsp + 0x1b0], xmm0
movdqa xmmword [rsp + 0x1c0], xmm1
mov r8, qword [rsp + 0x268]
mov rcx, qword [rsp + 0x270]
mov rdx, qword [rsp + 0x278]
movzx r9d, word [r8 + 0x3d2]
mov rax, r8
cmp rdx, r9
jb 0x14006eacf
nop
mov rax, qword [r8 + 0x160]
test rax, rax
je 0x14006eac7
inc rcx
movzx edx, word [r8 + 0x3d0]
mov r8, rax
cmp dx, word [rax + 0x3d2]
jae 0x14006e8a0
jmp 0x14006eacf
mov r12d, 1
mov rcx, r12
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx ecx, byte [r15 + 0x18]
mov rdx, qword [r15 + 0x28]
mov rdi, qword [r15 + 0x30]
test rdi, rdi
mov byte [rsp + 0x80], cl
je 0x14006e956
mov rax, rdi
shr rax, 0x3e
jne 0x1400717a7
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
mov qword [rsp + 0x68], rdx
jne 0x14006e933
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov qword [0x140228110], rax
lea r15, [rdi + rdi]
mov rcx, rax
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapAlloc
mov r13, rax
test rax, rax
mov rdx, qword [rsp + 0x68]
jne 0x14006e95f
jmp 0x1400717a7
mov r13d, 2
xor r15d, r15d
add rbx, rbp
mov rcx, r13
mov r8, r15
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x230], rdi
mov qword [rsp + 0x238], r13
mov qword [rsp + 0x240], rdi
mov qword [rsp + 0x210], rsi
mov qword [rsp + 0x218], r12
mov qword [rsp + 0x220], rsi
movzx eax, byte [rsp + 0x80]
mov byte [rsp + 0x228], al
mov rdi, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x14006ea01
js 0x1400717a7
movzx eax, byte [0x140228121]
mov rax, qword [0x140228110]
test rax, rax
jne 0x14006e9e7
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov qword [0x140228110], rax
mov rcx, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov r15, rax
test rax, rax
jne 0x14006ea07
jmp 0x1400717a7
mov r15d, 1
mov rcx, r15
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], r15
mov qword [rsp + 0xf0], rsi
movzx eax, byte [rbx + 0x18]
mov byte [rsp + 0xf8], al
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x210]
lea r9, [rsp + 0xe0]
call fcn.140067360
mov rax, qword [rsp + 0x90]
shl rax, 1
test rax, rax
je 0x14006e3b5
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x140228110]
xor edx, edx
jmp 0x14006e3b0
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], rsi
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x77]
call fcn.140064d70
mov r9, qword [rsp + 0x60]
jmp 0x14006eca5
mov rdx, rcx
mov rcx, r8
xor eax, eax
imul r8, rdx, 0x38
mov r9, rdx
shl r9, 5
mov r10, qword [rax + r8 + 0x198]
mov qword [rsp + 0x110], r10
movups xmm0, xmmword [rax + r8 + 0x168]
movups xmm1, xmmword [rax + r8 + 0x178]
movups xmm2, xmmword [rax + r8 + 0x188]
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov r10, qword [rsp + 0xc0]
mov qword [rax + r8 + 0x198], r10
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movdqa xmm2, xmmword [rsp + 0xb0]
movdqu xmmword [rax + r8 + 0x188], xmm2
movups xmmword [rax + r8 + 0x178], xmm1
movups xmmword [rax + r8 + 0x168], xmm0
movups xmm0, xmmword [rax + r9]
movups xmm1, xmmword [rax + r9 + 0x10]
lea r8, [rsp + 0x118]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movdqa xmm0, xmmword [rsp + 0x1b0]
movdqa xmm1, xmmword [rsp + 0x1c0]
movdqu xmmword [rax + r9], xmm0
movdqu xmmword [rax + r9 + 0x10], xmm1
test rcx, rcx
je 0x14006ec30
mov rax, qword [rax + rdx*8 + 0x3e0]
mov rdx, rcx
dec rdx
mov r9, qword [rsp + 0x60]
je 0x14006ec35
mov r8, rdx
and r8, 7
je 0x14006ebe5
mov rdx, r8
nop word [rax + rax]
mov rax, qword [rax + 0x3d8]
dec rdx
jne 0x14006ebd0
not r8
add r8, rcx
mov rdx, r8
add rcx, 0xfffffffffffffffe
cmp rcx, 7
jb 0x14006ec35
nop
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 rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rdx, 0xfffffffffffffff8
jne 0x14006ebf0
jmp 0x14006ec35
mov r9, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x260], rcx
movaps xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x250], xmm0
movdqa xmm0, xmmword [rsp + 0xe0]
movdqa xmm1, xmmword [rsp + 0xf0]
movdqa xmm2, xmmword [rsp + 0x100]
movdqa xmm3, xmmword [rsp + 0x110]
movdqa xmmword [rsp + 0x240], xmm3
movdqa xmmword [rsp + 0x230], xmm2
movdqa xmmword [rsp + 0x220], xmm1
movdqa xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x268], rax
mov r13, qword [rsp + 0x210]
mov r15, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x230]
mov r12, qword [rsp + 0x238]
dec qword [rsp + 0x1a0]
mov rsi, qword [rsp + 0x248]
mov rdi, qword [rsp + 0x250]
cmp byte [rsp + 0x77], 0
je 0x14006ed28
test r9, r9
je 0x1400717a7
mov r8, qword [rsp + 0x88]
mov rax, qword [r8 + 0x3d8]
mov qword [rsp + 0x190], rax
dec r9
mov qword [rsp + 0x198], r9
mov qword [rax + 0x160], 0
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
movabs rax, 0x8000000000000000
cmp r13, rax
je 0x14006e3b5
test r13, r13
je 0x14006ed51
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapFree
test rbx, rbx
je 0x14006ed67
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r12
call sub.kernel32.dll_HeapFree
shl rsi, 1
test rsi, rsi
je 0x14006e3b5
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
jmp 0x14006e3b0
mov r15, qword [rsp + 0x190]
mov r12, qword [rsp + 0x198]
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x80], rax
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x14006edcf
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 4
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400717a7
mov rbx, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xe8], rax
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x230]
lea rdx, [rsp + 0xe0]
call fcn.140078c30
test r15, r15
mov qword [rsp + 0x78], r15
je 0x14006eeea
mov qword [rsp + 0x68], rbx
mov rdi, qword [rsp + 0x238]
mov ebx, dword [rsp + 0x240]
mov qword [rsp + 0x58], r12
lea rcx, [r15 + 0x168]
movzx ebp, word [r15 + 0x3d2]
imul r14, rbp, 0x38
mov r13, 0xffffffffffffffff
nop word cs:[rax + rax]
test r14, r14
je 0x14006eeb0
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 sub.kernel32.dll_CompareStringOrdinal
inc r13
add r14, 0xffffffffffffffc8
mov rcx, rsi
cmp eax, 3
je 0x14006ee70
cmp eax, 1
jne 0x14006eec7
jmp 0x14006eeb3
mov r13, rbp
sub r12, 1
jb 0x14006f461
mov r15, qword [r15 + r13*8 + 0x3d8]
jmp 0x14006ee48
cmp eax, 2
jne 0x140072043
shl r13, 5
mov rsi, qword [r15 + r13 + 8]
mov rdi, qword [r15 + r13 + 0x10]
mov r12, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
jmp 0x14006eeec
xor esi, esi
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x230], 0
je 0x14006ef1e
mov r8, qword [rsp + 0x238]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0x158]
mov r15, qword [rcx + 0x10]
lea rbp, str.program_path_has_no_file_name
test r15, r15
mov rax, qword [rsp + 0x150]
je 0x14006f2ef
mov rbx, qword [rcx + 8]
cmp r15, 4
jae 0x14006ef55
lea rax, [0x140066200]
jmp 0x14006ef7d
mov eax, dword [rbx]
bswap eax
xor ecx, ecx
cmp eax, 0x5c5c3f5c
setb cl
cmp eax, 0x5c5c3f5d
adc ecx, 0xffffffff
lea rcx, [0x140066210]
lea rax, [0x140066200]
cmove rax, rcx
movzx ecx, byte [r15 + rbx - 1]
call rax
test al, al
mov rax, qword [rsp + 0x150]
jne 0x14006f2ef
movabs r14, 0x8000000000000000
cmp r15, 4
jb 0x14006f083
movzx eax, byte [r15 + rbx - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x14006f0ac
movzx eax, byte [rbx + r15 - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
mov al, 1
cmp cl, 0x65
jne 0x14006f014
movzx ecx, byte [rbx + r15 - 2]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x78
jne 0x14006f014
movzx eax, byte [rbx + r15 - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
setne al
xor ecx, ecx
nop word cs:[rax + rax]
cmp r15, rcx
je 0x14006f1d4
movzx edx, byte [rbx + rcx]
cmp edx, 0x2f
je 0x14006f03a
inc rcx
cmp edx, 0x5c
jne 0x14006f020
test al, al
jne 0x14006f0ca
lea rcx, [rsp + 0xe0]
mov rdx, rbx
mov r8, r15
call fcn.140077270
mov rcx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xe8]
cmp rcx, r14
jne 0x14006f4a8
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x160], r14
jmp 0x14006f4dd
xor eax, eax
nop word cs:[rax + rax]
cmp r15, rax
je 0x14006f1d4
movzx ecx, byte [rbx + rax]
cmp ecx, 0x2f
je 0x14006f0ca
inc rax
cmp ecx, 0x5c
jne 0x14006f090
jmp 0x14006f0ca
xor eax, eax
nop
cmp r15, rax
je 0x14006f1d4
movzx ecx, byte [rbx + rax]
cmp ecx, 0x2f
je 0x14006f0ca
inc rax
cmp ecx, 0x5c
jne 0x14006f0b0
test r15, r15
js 0x1400717a7
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x14006f0fe
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov rcx, rax
mov qword [0x140228110], rax
xor edx, edx
mov r8, r15
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400717a7
mov rsi, rax
mov rcx, rax
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x210], r15
mov qword [rsp + 0x218], rsi
mov qword [rsp + 0x220], r15
mov byte [rsp + 0x228], 0
lea rdx, [0x1401ad2a8]
lea rcx, [rsp + 0x210]
mov r8d, 4
call fcn.14006d240
mov rdi, qword [rsp + 0x210]
mov rsi, qword [rsp + 0x218]
mov rbx, qword [rsp + 0x220]
lea rcx, [rsp + 0xe0]
mov rdx, rsi
mov r8, rbx
call fcn.140068440
cmp qword [rsp + 0xe0], r14
jne 0x14006f2bb
mov rcx, rsi
mov rdx, rbx
call fcn.140074970
test rax, rax
mov r15, qword [rsp + 0x78]
je 0x14006fd80
cmp rdx, 2
jne 0x14006f3f8
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x14006f3f8
mov ecx, 2
xor r8d, r8d
jmp 0x14006fd60
lea rax, [rbx + r15]
xor r9d, r9d
lea rbp, str.nul_byte_found_in_provided_dataPATH.exeprogram_not_found
mov rcx, rbx
jmp 0x14006f1fc
xor r9d, r9d
test dx, dx
je 0x14006f2e7
mov dx, 1
test r9w, r9w
jne 0x14006f1f0
cmp rcx, rax
je 0x14006f42a
movzx r9d, byte [rcx]
test r9b, r9b
js 0x14006f223
inc rcx
mov r8d, r9d
jmp 0x14006f2b0
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x14006f279
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x14006f286
movzx r9d, byte [rcx + 3]
add rcx, 4
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
or r8d, r9d
cmp r8d, 0xffff
ja 0x14006f29a
jmp 0x14006f2b0
add rcx, 2
shl r8d, 6
or r8d, r11d
jmp 0x14006f2b0
add rcx, 3
shl r8d, 0xc
or r8d, r10d
cmp r8d, 0xffff
jbe 0x14006f2b0
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x14006f1f3
xor r9d, r9d
mov edx, r8d
jmp 0x14006f1f3
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x170], rax
movdqu xmm0, xmmword [rsp + 0xe0]
movdqa xmmword [rsp + 0x160], xmm0
mov r15, qword [rsp + 0x78]
jmp 0x14006fdef
mov rax, qword [rsp + 0x150]
mov r15, qword [rsp + 0x78]
movq xmm6, rbp
cmp byte [rsp + 0x1e0], 0
jne 0x14006f380
test r15, r15
je 0x14006f34f
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x220], r15
mov qword [rsp + 0x228], r12
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], r15
mov qword [rsp + 0x248], r12
mov eax, 1
mov rcx, qword [rsp + 0x80]
jmp 0x14006f353
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x250], rcx
lea rcx, [rsp + 0x210]
call fcn.140068610
mov rax, qword [rsp + 0x150]
cmp dword [rsp + 0x200], 3
ja 0x14006f391
mov esi, 2
jmp 0x14006f3b1
mov esi, 2
mov rcx, qword [rsp + 0x208]
call sub.kernel32.dll_CloseHandle
cmp rsi, 2
jne 0x14006f3b8
mov rax, qword [rsp + 0x150]
movq qword [rax + 8], xmm6
jmp 0x14006f3d9
mov rax, qword [rsp + 0x150]
mov qword [rax + 8], r13
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], r12
mov qword [rax + 0x20], r15
mov qword [rax + 0x28], r14
movdqu xmmword [rax + 0x30], xmm6
mov qword [rax], rsi
movaps xmm6, xmmword [rsp + 0x610]
add rsp, 0x628
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdx
nop dword [rax + rax]
test rcx, rcx
je 0x14006f457
mov r9, rcx
dec rcx
cmp byte [rax + r9 - 1], 0x2e
jne 0x14006f400
test rcx, rcx
je 0x14006fd5a
sub rdx, r9
mov r8, rax
add r8, r9
jmp 0x14006fd60
cmp r15, 0xf
mov qword [rsp + 0x88], rbx
ja 0x14006f46d
xor eax, eax
nop word [rax + rax]
cmp byte [rbx + rax], 0x2e
je 0x14006f555
inc rax
cmp r15, rax
jne 0x14006f440
jmp 0x14006f54b
mov r8, rax
xor eax, eax
jmp 0x14006fd60
mov r12, qword [rsp + 0x58]
xor esi, esi
jmp 0x14006eee3
lea rax, [rbx + 7]
and rax, 0xfffffffffffffff8
sub rax, rbx
je 0x14006f4e7
cmp rax, r15
cmovae rax, r15
test rax, rax
je 0x14006f4e7
xor ecx, ecx
cmp byte [rbx + rcx], 0x2e
je 0x14006f555
inc rcx
cmp rax, rcx
jne 0x14006f488
lea rcx, [r15 - 0x10]
cmp rax, rcx
jbe 0x14006f4ed
jmp 0x14006f538
mov rdx, qword [rsp + 0xf0]
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rdx
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0x210]
call fcn.14006b760
mov r15, qword [rsp + 0x78]
jmp 0x14006fe05
lea rcx, [r15 - 0x10]
xor eax, eax
movabs rdx, 0x8080808080808080
movdqa xmm0, xmmword [str.................]
movdqa xmm1, xmmword [0x14018dcf0]
movdqu xmm2, xmmword [rbx + rax]
movdqa xmm3, xmm2
pxor xmm3, xmm0
paddq xmm3, xmm1
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq r8, xmm3
test r8, rdx
jne 0x14006f538
add rax, 0x10
cmp rax, rcx
jbe 0x14006f507
cmp rax, r15
je 0x14006f54b
cmp byte [rbx + rax], 0x2e
je 0x14006f555
inc rax
cmp r15, rax
jne 0x14006f53d
mov dword [rsp + 0x60], 0
jmp 0x14006f55b
mov al, 1
mov dword [rsp + 0x60], eax
test rsi, rsi
je 0x14006f5ab
add rdi, rsi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rdi
mov word [rsp + 0xa0], 0
mov byte [rsp + 0xa8], 1
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x90]
call fcn.140072740
mov rax, qword [rsp + 0x210]
cmp rax, r14
jne 0x14006faa3
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x68], rax
xor r12d, r12d
mov r15d, 0xffffffff
xor ebx, ebx
xor r14d, r14d
cmp r8, 0x201
jb 0x14006f61f
jmp 0x14006f640
jae 0x14006f707
cmp r8, 0x201
jae 0x14006f640
mov esi, 0x200
lea rdi, [rsp + 0x210]
mov r13, r8
jmp 0x14006f672
sub r8, r14
sub rbx, r14
cmp rbx, r8
jb 0x14006f6dd
cmp r12, r15
mov r14d, 0xffffffff
cmovb r14, r12
mov qword [rsp + 0xa0], r14
mov rbx, r12
mov rsi, r14
mov rdi, qword [rsp + 0x68]
mov r13, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, rdi
mov r8d, r13d
call sub.kernel32.dll_GetModuleFileNameW
mov ebp, eax
test eax, eax
jne 0x14006f699
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14006f722
mov r8d, ebp
cmp r13, r8
jne 0x14006f610
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400717a7
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r15d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14006f640
jmp 0x14006f61f
lea rcx, [rsp + 0x90]
mov rdx, r14
call fcn.1400c5870
mov r12, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
jmp 0x14006f64f
cmp rsi, r8
jb 0x1400717a7
lea rcx, [rsp + 0xe0]
mov rdx, rdi
call fcn.140065d50
jmp 0x14006f749
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0xe8], rax
movabs rax, 0x8000000000000000
mov qword [rsp + 0xe0], rax
mov r15, qword [rsp + 0xd8]
test r12, r12
je 0x14006f769
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
mov rbx, qword [rsp + 0xe0]
movabs r12, 0x8000000000000000
cmp rbx, r12
jne 0x14006f7ee
mov rax, qword [rsp + 0xe8]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14006f8bf
test rcx, rcx
je 0x14006f8bf
lea rsi, [rax - 1]
mov rdi, qword [rax - 1]
mov rbx, qword [rax + 7]
mov rcx, rdi
call qword [rbx]
cmp qword [rbx + 8], 0
je 0x14006f7d8
cmp qword [rbx + 0x10], 0x11
jb 0x14006f7c7
mov rdi, qword [rdi - 8]
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
jmp 0x14006f8bf
mov rsi, qword [rsp + 0xe8]
mov rdi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xf8]
mov rcx, rsi
mov rdx, rdi
call fcn.1400742d0
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmove rdx, rdi
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x218], rsi
mov qword [rsp + 0x220], rdx
mov qword [rsp + 0x228], r14
lea rcx, [rsp + 0x210]
mov rdx, qword [rsp + 0x88]
mov r8, r15
call fcn.1400736b0
cmp byte [rsp + 0x60], 0
jne 0x14006f872
lea rdx, [0x1401ae620]
lea rcx, [rsp + 0x210]
call fcn.140074a90
mov rsi, qword [rsp + 0x218]
mov r8, qword [rsp + 0x220]
lea rcx, [rsp + 0x90]
mov rdx, rsi
call fcn.140068440
cmp qword [rsp + 0x210], 0
je 0x14006f8ae
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x90]
cmp rax, r12
jne 0x140070021
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x68], rax
xor ebx, ebx
mov r15d, 0xffffffff
xor r12d, r12d
xor r14d, r14d
cmp r8, 0x201
jb 0x14006f91f
jmp 0x14006f940
jae 0x14006fa05
cmp r8, 0x201
jae 0x14006f940
mov esi, 0x200
lea rdi, [rsp + 0x210]
mov r13, r8
jmp 0x14006f972
sub r8, r14
sub r12, r14
cmp r12, r8
jb 0x14006f9db
cmp rbx, r15
mov r14d, 0xffffffff
cmovb r14, rbx
mov qword [rsp + 0xa0], r14
mov r12, rbx
mov rsi, r14
mov rdi, qword [rsp + 0x68]
mov r13, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rdi
mov edx, r13d
call sub.kernel32.dll_GetSystemDirectoryW
mov ebp, eax
test eax, eax
jne 0x14006f997
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14006fbb3
mov r8d, ebp
cmp r13, r8
jne 0x14006f910
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400717a7
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r15d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14006f940
jmp 0x14006f91f
lea rcx, [rsp + 0x90]
mov rdx, r14
call fcn.1400c5870
mov rbx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
jmp 0x14006f94f
cmp rsi, r8
jb 0x1400717a7
lea r14, [rsp + 0xe0]
mov rcx, r14
mov rdx, rdi
call fcn.140065d50
mov rcx, r14
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0xd8]
call fcn.1400736b0
cmp byte [rsp + 0x60], 0
movabs rsi, 0x8000000000000000
jne 0x14006fa5e
lea rdx, [0x1401ae620]
lea rcx, [rsp + 0xe0]
call fcn.140074a90
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
lea rcx, [rsp + 0x1b0]
mov rdx, rdi
call fcn.140068440
cmp qword [rsp + 0xe0], 0
je 0x14006fbde
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x14006fbde
lea rsi, [rsp + 0x210]
lea rbx, [rsp + 0x90]
lea r13, [rsp + 0xe0]
lea rbp, [0x1401ae620]
jmp 0x14006faf1
mov rax, qword [rsp + 0x210]
cmp rax, r14
jne 0x140070e2d
mov rcx, rsi
mov rdx, rbx
call fcn.140072740
mov rax, qword [rsp + 0x210]
cmp rax, r14
je 0x14006f5ab
mov r8, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x14006fb97
mov rdx, qword [rsp + 0x228]
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xe0], rax
mov rcx, r13
mov rdx, qword [rsp + 0x88]
mov r8, r15
call fcn.1400736b0
cmp byte [rsp + 0x60], 0
jne 0x14006fb57
mov rcx, r13
mov rdx, rbp
call fcn.140074a90
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov rcx, rsi
mov rdx, rdi
call fcn.140068440
cmp qword [rsp + 0xe0], 0
je 0x14006fac4
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x14006fac4
test rax, rax
je 0x14006fad5
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x14006fad5
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1b8], rax
movabs rsi, 0x8000000000000000
lea rax, [rsi + 1]
mov qword [rsp + 0x1b0], rax
test rbx, rbx
je 0x14006fbf6
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x1b0]
lea rdx, [rsi + 2]
lea rcx, [rsp + 0x1b8]
cmp rax, rdx
jge 0x1400701f4
mov qword [rsp + 0xd0], rdx
mov rcx, rax
mov rdx, qword [rsp + 0x1b8]
call fcn.140068560
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x68], rax
xor ebx, ebx
mov r15d, 0xffffffff
xor r12d, r12d
xor r14d, r14d
cmp r8, 0x201
jb 0x14006fc87
jmp 0x14006fc99
jae 0x14007002f
cmp r8, 0x201
jae 0x14006fc99
mov esi, 0x200
lea rdi, [rsp + 0x210]
mov r13, r8
jmp 0x14006fccb
sub r8, r14
sub r12, r14
cmp r12, r8
jb 0x14006fd30
cmp rbx, r15
mov r14d, 0xffffffff
cmovb r14, rbx
mov qword [rsp + 0xa0], r14
mov r12, rbx
mov rsi, r14
mov rdi, qword [rsp + 0x68]
mov r13, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, rdi
mov edx, r13d
call sub.kernel32.dll_GetWindowsDirectoryW
mov ebp, eax
test eax, eax
jne 0x14006fcf0
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x1400700c9
mov r8d, ebp
cmp r13, r8
jne 0x14006fc78
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400717a7
add r13, r13
mov eax, 0xffffffff
cmp r13, rax
mov r15d, 0xffffffff
cmovae r13, rax
mov r8, r13
cmp r8, 0x201
jae 0x14006fc99
jmp 0x14006fc87
lea rcx, [rsp + 0x90]
mov rdx, r14
call fcn.1400c5870
mov rbx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
jmp 0x14006fca8
xor r8d, r8d
mov rcx, rdx
test rax, rax
cmovne r8, rax
test r8, r8
je 0x14006fd80
test rax, rax
cmove rcx, rdx
add r8, rcx
sub r8, rsi
cmp rbx, r8
cmovae rbx, r8
lea rcx, [rsp + 0x210]
mov rdx, rsi
mov r8, rbx
call fcn.140077270
mov rcx, qword [rsp + 0x210]
mov rax, qword [rsp + 0x218]
cmp rcx, r14
jne 0x14006fdba
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x160], r14
jmp 0x14006fdef
mov rdx, qword [rsp + 0x220]
mov qword [rsp + 0x210], rcx
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], rdx
lea rcx, [rsp + 0x160]
lea rdx, [rsp + 0x210]
call fcn.14006b760
test rdi, rdi
je 0x14006fe05
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0x160]
mov rbp, qword [rsp + 0x168]
cmp rcx, r14
mov rax, qword [rsp + 0x150]
je 0x14006f2f4
mov qword [rsp + 0x68], rcx
mov r8, qword [rsp + 0x170]
mov qword [rsp + 0x58], r12
cmp r8, 5
jb case.0x14006fe7c.68
cmp word [rbp + r8*2 - 0xa], 0x2e
jne case.0x14006fe7c.68
cmp word [rbp + r8*2 - 2], 0
jne case.0x14006fe7c.68
movzx eax, word [rbp + r8*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x14006fe7c.68
lea rdx, [0x14018dd00]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [rbp + r8*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x14006fe9a
movzx ecx, word [rbp + r8*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x14006feca
cmp ax, 0x43
jne case.0x14006fe7c.68
movzx eax, word [rbp + r8*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x14006fe7c.68
movzx eax, word [rbp + r8*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x14006fe7c.68
mov qword [rsp + 0x1d8], r8
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0xf0], 0
mov esi, 0x200
mov eax, 2
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x88], rax
mov ebx, 0xffffffff
xor r14d, r14d
xor ebp, ebp
cmp rsi, 0x201
jb 0x14006ff3b
jmp 0x14006ff4e
jae 0x140070ec2
cmp rsi, 0x201
jae 0x14006ff4e
mov r12d, 0x200
lea r13, [rsp + 0x210]
mov rdi, rsi
jmp 0x14006ff84
sub rsi, rbp
sub r14, rbp
cmp r14, rsi
jb 0x14006ffec
mov r14, qword [rsp + 0x88]
cmp r14, rbx
mov ebp, 0xffffffff
cmovb rbp, r14
mov qword [rsp + 0xf0], rbp
mov r12, rbp
mov r13, qword [rsp + 0x60]
mov rdi, rbp
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r13
mov edx, edi
call sub.kernel32.dll_GetSystemDirectoryW
mov r15d, eax
test eax, eax
jne 0x14006ffa9
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x140070f74
mov esi, r15d
cmp rdi, rsi
jne 0x14006ff2c
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400717a7
add rdi, rdi
mov eax, 0xffffffff
cmp rdi, rax
mov ebx, 0xffffffff
cmovae rdi, rax
mov rsi, rdi
cmp rsi, 0x201
jae 0x14006ff4e
jmp 0x14006ff3b
lea rcx, [rsp + 0xe0]
mov rdx, rbp
mov r8, rsi
call fcn.1400c5870
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0x60], rax
jmp 0x14006ff5d
movdqu xmm0, xmmword [rsp + 0x98]
jmp 0x1400701f8
cmp rsi, r8
jb 0x1400717a7
lea r14, [rsp + 0xe0]
mov rcx, r14
mov rdx, rdi
call fcn.140065d50
mov rcx, r14
mov rdx, qword [rsp + 0x88]
mov r15, qword [rsp + 0xd8]
mov r8, r15
call fcn.1400736b0
cmp byte [rsp + 0x60], 0
movabs r12, 0x8000000000000000
jne 0x14007008b
lea rdx, [0x1401ae620]
lea rcx, [rsp + 0xe0]
call fcn.140074a90
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
lea rcx, [rsp + 0x1b0]
mov rdx, rdi
call fcn.140068440
cmp qword [rsp + 0xe0], 0
je 0x1400700fd
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x1400700fd
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1b8], rax
movabs r12, 0x8000000000000000
lea rax, [r12 + 1]
mov qword [rsp + 0x1b0], rax
mov r15, qword [rsp + 0xd8]
test rbx, rbx
je 0x140070115
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x68]
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x1b0]
cmp rax, qword [rsp + 0xd0]
jge 0x1400701ec
mov rcx, rax
mov rdx, qword [rsp + 0x1b8]
call fcn.140068560
lea rdx, [0x1401ad2a4]
lea rcx, [rsp + 0x1b0]
mov r8d, 4
call fcn.140072970
mov r14, qword [rsp + 0x1b0]
cmp r14, r12
je 0x1400701d3
mov rsi, qword [rsp + 0x1b8]
mov rax, qword [rsp + 0x1c0]
add rax, rsi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rax
mov word [rsp + 0xa0], 0
mov byte [rsp + 0xa8], 1
lea rcx, [rsp + 0x210]
lea rdx, [rsp + 0x90]
call fcn.140072740
mov rax, qword [rsp + 0x210]
cmp rax, r12
jne 0x140070f9e
test r14, r14
je 0x1400701d3
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
lea rbp, [0x1401ad2c0]
mov rax, qword [rsp + 0x150]
mov r12, qword [rsp + 0x58]
jmp 0x14006f2ef
lea rcx, [rsp + 0x1b8]
movdqu xmm0, xmmword [rcx]
movdqa xmmword [rsp + 0x190], xmm0
mov r12, qword [rsp + 0x58]
mov qword [rsp + 0x68], rax
movdqa xmm0, xmmword [rsp + 0x190]
movdqu xmmword [rsp + 0x168], xmm0
mov rbp, qword [rsp + 0x168]
mov r8, qword [rsp + 0x170]
mov qword [rsp + 0x58], r12
cmp r8, 5
jae 0x14006fe42
mov rax, qword [rsp + 0x158]
mov r14, qword [rax + 8]
mov r15, qword [rax + 0x28]
mov rbx, qword [rax + 0x30]
movzx esi, byte [rax + 0xc5]
mov r12, qword [rax + 0x10]
add r12, r14
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 2
mov qword [rsp + 0xf0], 0
lea rdi, [rsp + 0xe0]
mov rcx, rdi
xor edx, edx
call fcn.140067150
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0x210], r14
mov qword [rsp + 0x218], r12
mov word [rsp + 0x220], 0
lea rdx, [rsp + 0x210]
mov rcx, rdi
call fcn.140078aa0
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe0]
jne 0x140070306
lea rcx, [rsp + 0xe0]
call fcn.140067150
mov rdx, qword [rsp + 0xf0]
movabs r12, 0x8000000000000000
mov rax, qword [rsp + 0xe8]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xf0], rdx
shl rbx, 3
lea rbx, [rbx + rbx*4]
lea rdi, [rsp + 0xe0]
jmp 0x14007037b
lea r14, [r15 + 0x28]
mov rax, qword [rsp + 0xe8]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xf0], rdx
mov rcx, rdi
mov rdx, r15
mov r8d, esi
call fcn.14006b2f0
add rbx, 0xffffffffffffffd8
mov r15, r14
test rax, rax
jne 0x140070557
test rbx, rbx
je 0x1400703a4
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe0]
jne 0x140070340
mov rcx, rdi
call fcn.140067150
mov rdx, qword [rsp + 0xf0]
jmp 0x140070340
mov rdx, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xe8]
cmp rdx, r12
je 0x14007057b
mov rax, qword [rsp + 0xf0]
mov r8b, 1
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 0x88], rcx
mov rcx, rbp
mov dword [rsp + 0x60], r8d
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0x160], rdx
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], rax
cmp rax, rdx
jne 0x14007041f
lea rcx, [rsp + 0x160]
call fcn.140067150
mov r13, qword [rsp + 0x168]
mov rax, qword [rsp + 0x170]
mov word [r13 + rax*2], 0
inc qword [rsp + 0x170]
mov rcx, qword [rsp + 0x158]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov r15d, 0x608
cmove r15d, eax
or r15d, dword [rcx + 0xc0]
cmp byte [rsp + 0x1e0], 0
je 0x1400705c0
mov rax, rcx
mov r13d, 2
xor edi, edi
xor r14d, r14d
cmp qword [rax + 0x38], r12
jne 0x140070c1d
mov eax, 2
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x1e0], rax
pxor xmm0, xmm0
movdqa xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x1c0], 0
lea rcx, [0x140228038]
call sub.kernel32.dll_AcquireSRWLockExclusive
movzx eax, byte [0x140228040]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], 0
mov r12, qword [rsp + 0x158]
lea rcx, [r12 + 0x58]
mov ebx, dword [r12 + 0x68]
cmp dword [r12 + 0x58], 6
lea r14, [rsp + 0x200]
cmove rcx, r14
lea rsi, [r12 + 0x78]
cmp dword [r12 + 0x78], 6
cmove rsi, r14
lea r8, [rsp + 0x90]
mov edx, 0xfffffff6
call fcn.1400689f0
cmp rax, 1
jne 0x140070de0
movq xmm6, rdx
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x58]
jmp 0x14007211a
mov r13, rax
cmp qword [rsp + 0xe0], 0
je 0x14007057b
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x58]
movq xmm6, r13
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x1400705a5
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x150]
cmp byte [rsp + 0x1e0], 0
je 0x14006f303
jmp 0x14006f380
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
mov rsi, qword [rsp + 0x80]
test rsi, rsi
jne 0x140070621
lea rcx, [rsp + 0x90]
xor edx, edx
call fcn.140067150
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov word [rax + rcx*2], 0
inc rcx
mov qword [rsp + 0xa0], rcx
xor eax, eax
mov rdx, qword [rsp + 0x78]
test rdx, rdx
setne al
mov rcx, rsi
cmove rcx, rdx
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], 0
mov qword [rsp + 0x220], rdx
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x228], r8
mov qword [rsp + 0x230], rax
mov qword [rsp + 0x238], 0
mov qword [rsp + 0x240], rdx
mov qword [rsp + 0x248], r8
mov qword [rsp + 0x250], rcx
test rcx, rcx
je 0x140070d93
lea rsi, [rsp + 0x220]
pxor xmm6, xmm6
mov qword [rsp + 0xd0], rbp
mov rax, qword [rsp + 0x80]
dec rax
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x210]
mov rdi, qword [rsp + 0x218]
test rax, rax
je 0x140070770
test rdi, rdi
jne 0x140070770
mov rdi, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x228]
test rcx, rcx
je 0x140070751
mov rdx, rcx
mov rax, rcx
and rdx, 7
je 0x14007070d
and rax, 0xfffffffffffffff8
mov rdi, qword [rdi + 0x3d8]
dec rdx
jne 0x140070701
cmp rcx, 8
jb 0x140070751
mov rcx, qword [rdi + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rdi, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x140070713
movdqu xmmword [rsi], xmm6
mov qword [rsp + 0x210], 1
mov qword [rsp + 0x218], rdi
xor r14d, r14d
xor esi, esi
jmp 0x140070789
test rax, rax
je 0x1400717a7
mov rsi, qword [rsp + 0x220]
mov r14, qword [rsp + 0x228]
movzx eax, word [rdi + 0x3d2]
mov r8, rdi
cmp r14, rax
jb 0x1400707ce
mov rdi, qword [r8 + 0x160]
test rdi, rdi
je 0x1400722a4
inc rsi
movzx r14d, word [r8 + 0x3d0]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r8, rdi
cmp r14w, word [rdi + 0x3d2]
jae 0x140070798
test rsi, rsi
je 0x14007086f
mov rax, qword [rdi + r14*8 + 0x3e0]
mov rcx, rsi
dec rcx
je 0x140070878
mov rdx, rcx
and rdx, 7
je 0x14007080c
mov rcx, rdx
mov rax, qword [rax + 0x3d8]
dec rcx
jne 0x1400707f7
not rdx
add rdx, rsi
mov rcx, rdx
add rsi, 0xfffffffffffffffe
cmp rsi, 7
jb 0x140070854
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 rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x140070816
mov qword [rsp + 0x218], rax
movdqu xmmword [rsp + 0x220], xmm6
test rdi, rdi
jne 0x140070896
jmp 0x14007113d
lea rcx, [r14 + 1]
mov rax, rdi
jmp 0x14007087a
xor ecx, ecx
mov qword [rsp + 0x218], rax
mov qword [rsp + 0x220], 0
mov qword [rsp + 0x228], rcx
imul rcx, r14, 0x38
mov rax, qword [rdi + rcx + 0x168]
cmp rax, r12
je 0x14007113d
lea rdx, [rdi + rcx]
add rdx, 0x168
mov r8, qword [rdi + rcx + 0x170]
mov r12, qword [rdi + rcx + 0x188]
mov rsi, qword [rdi + rcx + 0x190]
mov rbp, qword [rdi + rcx + 0x198]
shl r14, 5
mov rcx, qword [rdi + r14]
mov qword [rsp + 0x58], rcx
mov rcx, qword [rdi + r14 + 8]
mov qword [rsp + 0x78], rcx
mov r13, qword [rdi + r14 + 0x10]
mov rcx, qword [rdx + 0x10]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x14007090e
xor r11d, r11d
test r9w, r9w
je 0x140070cf4
mov r9w, 1
test r11w, r11w
jne 0x140070901
cmp rdx, rcx
je 0x1400709bb
movzx r11d, byte [rdx]
test r11b, r11b
js 0x140070933
inc rdx
mov r10d, r11d
jmp 0x1400709b0
mov r10d, r11d
and r10d, 0x1f
movzx ebx, byte [rdx + 1]
and ebx, 0x3f
cmp r11b, 0xdf
jbe 0x140070979
movzx edi, byte [rdx + 2]
shl ebx, 6
and edi, 0x3f
or edi, ebx
cmp r11b, 0xf0
jb 0x140070986
movzx r11d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl edi, 6
and r11d, 0x3f
or r11d, edi
or r10d, r11d
jmp 0x140070991
add rdx, 2
shl r10d, 6
or r10d, ebx
jmp 0x1400709b0
add rdx, 3
shl r10d, 0xc
or r10d, edi
cmp r10d, 0xffff
jbe 0x1400709b0
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x140070904
xor r11d, r11d
mov r9d, r10d
jmp 0x140070904
test rax, rax
je 0x1400709ce
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xa0]
sub rax, rdi
cmp rax, rbp
jb 0x140070bfd
lea r8, [rbp*2]
lea rcx, [rdi + rdi]
add rcx, qword [rsp + 0x98]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
add rdi, rbp
mov qword [rsp + 0xa0], rdi
test r12, r12
je 0x140070a2f
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rdi, qword [rsp + 0xa0]
cmp rdi, qword [rsp + 0x90]
movabs r12, 0x8000000000000000
mov rbp, qword [rsp + 0xd0]
jne 0x140070a63
lea rcx, [rsp + 0x90]
mov rdx, rdi
call fcn.140067150
mov rdi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov word [rax + rdi*2], 0x3d
inc rdi
mov qword [rsp + 0xa0], rdi
mov rax, qword [rsp + 0x78]
add r13, rax
xor r8d, r8d
mov rdi, qword [rsp + 0x58]
jmp 0x140070a9a
xor r8d, r8d
test cx, cx
je 0x140070f61
mov cx, 1
test r8w, r8w
jne 0x140070a8e
cmp rax, r13
je 0x140070b44
movzx r8d, byte [rax]
test r8b, r8b
js 0x140070abe
inc rax
mov edx, r8d
jmp 0x140070b3a
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x140070b08
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x140070b14
movzx r8d, byte [rax + 3]
add rax, 4
and edx, 7
shl edx, 0x12
shl r9d, 6
and r8d, 0x3f
or r8d, r9d
or edx, r8d
jmp 0x140070b1e
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x140070b3a
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x140070b3a
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x140070a91
xor r8d, r8d
mov ecx, edx
jmp 0x140070a91
cmp rdi, r12
je 0x140072208
mov rsi, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], r13
mov word [rsp + 0xf0], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0xe0]
call fcn.140078aa0
test rdi, rdi
je 0x140070b97
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rdx, qword [rsp + 0xa0]
cmp rdx, qword [rsp + 0x90]
lea rsi, [rsp + 0x220]
jne 0x140070bc6
lea rcx, [rsp + 0x90]
call fcn.140067150
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov word [rax + rdx*2], 0
inc rdx
mov qword [rsp + 0xa0], rdx
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x80], rax
test rax, rax
jne 0x1400706a7
jmp 0x14007222e
lea rcx, [rsp + 0x90]
mov rdx, rdi
mov r8, rbp
call fcn.1400c5870
mov rdi, qword [rsp + 0xa0]
jmp 0x1400709ea
mov rcx, rax
mov rax, qword [rax + 0x40]
mov rcx, qword [rcx + 0x48]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x140070c40
xor r10d, r10d
test r8w, r8w
je 0x140070d7e
mov r8w, 1
test r10w, r10w
jne 0x140070c33
cmp rdx, rcx
je 0x140070e42
movzx r10d, byte [rdx]
test r10b, r10b
js 0x140070c68
inc rdx
mov r9d, r10d
jmp 0x140070ce9
mov r9d, r10d
and r9d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x140070cb2
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140070cbf
movzx r10d, byte [rdx + 3]
add rdx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
jmp 0x140070cca
add rdx, 2
shl r9d, 6
or r9d, esi
jmp 0x140070ce9
add rdx, 3
shl r9d, 0xc
or r9d, r11d
cmp r9d, 0xffff
jbe 0x140070ce9
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x140070c36
xor r10d, r10d
mov r8d, r9d
jmp 0x140070c36
test rax, rax
je 0x140070d07
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x58], 0
mov rbp, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x78]
je 0x140070d2a
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
test r12, r12
je 0x140070d40
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
lea r13, str.nul_byte_found_in_provided_dataPATH.exeprogram_not_found
lea rcx, [rsp + 0x210]
call fcn.140068610
cmp qword [rsp + 0x90], 0
je 0x1400711a0
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x1400711a0
lea rax, str.nul_byte_found_in_provided_dataPATH.exeprogram_not_found
movq xmm6, rax
mov ebx, dword [rsp + 0x60]
jmp 0x140072189
mov qword [rsp + 0x210], 0
test rdx, rdx
je 0x14007113d
mov r9, qword [rsp + 0x58]
test r9, r9
je 0x140070f96
mov rcx, r9
and rcx, 7
je 0x1400710ab
mov rax, r9
and rax, 0xfffffffffffffff8
mov rdx, qword [rdx + 0x3d8]
dec rcx
jne 0x140070dca
mov r9, qword [rsp + 0x58]
jmp 0x1400710ae
mov qword [rsp + 0x1d8], rdx
lea r8, [rsp + 0xa0]
lea rcx, [r12 + 0x68]
cmp ebx, 6
cmove rcx, r14
mov edx, 0xfffffff5
call fcn.1400689f0
mov r12, rdx
test rax, rax
je 0x140070f28
movq xmm6, r12
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov r14, qword [rsp + 0x58]
jmp 0x14007210d
movups xmm0, xmmword [rsp + 0x218]
movaps xmmword [rsp + 0x190], xmm0
jmp 0x140070206
mov qword [rsp + 0x210], rax
mov qword [rsp + 0x218], rcx
mov word [rsp + 0x220], 0
lea rcx, [rsp + 0xe0]
lea rdx, [rsp + 0x210]
call fcn.140078c30
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xf0]
cmp rdx, rcx
jne 0x140070ea3
lea rcx, [rsp + 0xe0]
call fcn.140067150
mov rcx, qword [rsp + 0xe0]
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe8]
mov word [rax + rdx*2], 0
mov rdx, rax
cmp rcx, r12
jne 0x140070483
jmp 0x140070d85
cmp r12, rsi
jb 0x1400717a7
test r15d, r15d
movabs r12, 0x8000000000000000
je 0x1400711ae
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140070f09
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov rcx, rax
mov qword [0x140228110], rax
lea rdi, [rsi + rsi]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapAlloc
mov rcx, rax
test rax, rax
jne 0x1400711b5
jmp 0x1400717a7
lea r8, [rsp + 0xb0]
mov rcx, rsi
mov edx, 0xfffffff4
call fcn.1400689f0
test rax, rax
mov r14, qword [rsp + 0x58]
je 0x140071673
movq xmm6, rdx
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
jmp 0x140072105
mov rsi, qword [rsp + 0x78]
test rdi, rdi
jne 0x140070d2f
jmp 0x140070d40
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov r14, rax
movabs r12, 0x8000000000000000
mov rsi, r12
jmp 0x1400711c3
mov r8, rdx
jmp 0x1400710fb
lea rbx, [rsp + 0x210]
lea r13, [rsp + 0x90]
lea rbp, [rsp + 0xe0]
jmp 0x140070fe5
mov rax, qword [rsp + 0x210]
cmp rax, r12
jne 0x1400717a9
mov rcx, rbx
mov rdx, r13
call fcn.140072740
mov rax, qword [rsp + 0x210]
cmp rax, r12
je 0x1400701bd
mov r8, qword [rsp + 0x218]
mov rcx, qword [rsp + 0x220]
test rcx, rcx
je 0x14007108f
mov rdx, qword [rsp + 0x228]
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0xe0], rax
mov rcx, rbp
mov rdx, qword [rsp + 0x88]
mov r8, r15
call fcn.1400736b0
cmp byte [rsp + 0x60], 0
jne 0x14007104f
mov rcx, rbp
lea rdx, [0x1401ae620]
call fcn.140074a90
mov rdi, qword [rsp + 0xe8]
mov r8, qword [rsp + 0xf0]
mov rcx, rbx
mov rdx, rdi
call fcn.140068440
cmp qword [rsp + 0xe0], 0
je 0x140070fb8
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x140070fb8
test rax, rax
je 0x140070fc9
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x140070fc9
mov rax, r9
mov r8, rdx
cmp r9, 8
jb 0x1400710fb
mov rcx, rdx
mov r8, rdx
mov rcx, qword [r8 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r8, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x1400710bd
mov rax, qword [r8 + 0x160]
test rax, rax
je 0x140071129
mov rsi, rax
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rax, qword [rsi + 0x160]
mov r8, rsi
test rax, rax
jne 0x140071107
jmp 0x14007112c
mov rsi, r8
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
lea rcx, [rsp + 0x210]
call fcn.140068610
mov r14, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
cmp rdx, r14
jne 0x14007117c
lea rcx, [rsp + 0x90]
call fcn.140067150
mov r14, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x158]
mov r13, qword [rsp + 0x98]
mov word [r13 + rdx*2], 0
mov rdi, r13
cmp r14, r12
jne 0x140070470
movq xmm6, r13
mov ebx, dword [rsp + 0x60]
jmp 0x14007219f
mov ecx, 2
xor edi, edi
mov r14, rcx
mov rdx, r13
mov r8, rdi
call sub.msvcrt.dll_memcpy
cmp qword [rsp + 0x88], 0
je 0x1400711e1
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.kernel32.dll_HeapFree
cmp rsi, r12
jne 0x140071207
mov rbp, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x68]
movq xmm6, r14
jmp 0x14007058f
mov qword [rsp + 0x90], rsi
mov r8, r14
mov qword [rsp + 0x98], r14
mov qword [rsp + 0xa0], rsi
lea rbx, [0x1401ad317]
xor r13d, r13d
lea rbp, [0x1401ad31f]
xor edi, edi
mov r15, rbx
mov rdx, qword [rsp + 0x68]
jmp 0x14007126c
lea rcx, [rsp + 0x90]
mov rdx, rsi
call fcn.1400c5870
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0x68]
mov word [r8 + rsi*2], r14w
inc rsi
mov qword [rsp + 0xa0], rsi
test r15, r15
je 0x1400712ff
test di, di
je 0x140071291
xor ecx, ecx
mov r14d, edi
cmp rsi, qword [rsp + 0x90]
je 0x14007132d
mov edi, ecx
jmp 0x14007125c
cmp r15, rbp
je 0x1400712ff
movzx r14d, byte [r15]
test r14b, r14b
js 0x1400712a6
inc r15
xor ecx, ecx
jmp 0x14007127f
mov eax, r14d
and eax, 0x1f
movzx edx, byte [r15 + 1]
and edx, 0x3f
cmp r14b, 0xdf
jbe 0x140071381
movzx ecx, byte [r15 + 2]
shl edx, 6
and ecx, 0x3f
or ecx, edx
cmp r14b, 0xf0
jb 0x140071399
movzx r14d, byte [r15 + 3]
and eax, 7
shl eax, 0x12
shl ecx, 6
and r14d, 0x3f
or r14d, ecx
or r14d, eax
cmp r14d, 0x110000
mov rdx, qword [rsp + 0x68]
jne 0x1400713ac
cmp r13, 1
je 0x1400713e8
mov r13d, 1
xor r15d, r15d
mov r14d, 0
mov eax, 0
cmp rsi, qword [rsp + 0x90]
jne 0x14007125c
jmp 0x140071369
mov rax, rbx
sub rax, r15
add rax, 0xa
movabs rdx, 0xaaaaaaaaaaaaaaab
mul rdx
shr rdx, 1
cmp cx, 1
sbb rdx, 0xffffffffffffffff
mov r8d, 1
sub r8, r13
mov rax, 0xffffffffffffffff
add r8, rdx
jb 0x140071367
mov rax, r8
mov edi, ecx
mov r8, 0xffffffffffffffff
inc rax
je 0x14007123f
mov r8, rax
jmp 0x14007123f
add r15, 2
shl eax, 6
or eax, edx
mov r14d, eax
mov rdx, qword [rsp + 0x68]
xor ecx, ecx
jmp 0x14007127f
add r15, 3
shl eax, 0xc
or ecx, eax
mov r14d, ecx
mov rdx, qword [rsp + 0x68]
jmp 0x1400713b0
add r15, 4
cmp r14d, 0xffff
jbe 0x1400713e1
lea eax, [r14 + 0xff0000]
shr eax, 0xa
or eax, 0xd800
and r14d, 0x3ff
or r14d, 0xdc00
mov ecx, r14d
mov r14d, eax
jmp 0x14007127f
xor ecx, ecx
jmp 0x14007127f
mov rsi, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
cmp rsi, r12
jne 0x140071419
mov rbp, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x58]
movq xmm6, r14
jmp 0x14007058f
mov qword [rsp + 0xd8], r14
mov rax, qword [rsp + 0x158]
mov r15, qword [rax + 0x28]
mov rdi, qword [rax + 0x30]
movzx ebx, byte [rax + 0xc5]
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
mov r12, qword [rsp + 0x58]
jne 0x140071468
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov rcx, rax
mov qword [0x140228110], rax
mov r8d, 0xc
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x1400717a7
mov byte [rsp + 0x188], bl
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x88], rsi
mov word [rax], 0x63
mov qword [rsp + 0x210], 6
mov qword [rsp + 0x218], rax
lea rdi, [0x1401ad731]
mov esi, 1
xor ebp, ebp
lea r14, [0x1401ad73f]
lea r13, [rsp + 0x210]
jmp 0x1400714d3
mov word [rax + rsi*2], bp
inc rsi
mov ebp, ebx
mov qword [rsp + 0x220], rsi
test bp, bp
jne 0x14007158d
cmp rdi, r14
je 0x1400715df
movzx ebp, byte [rdi]
test bpl, bpl
js 0x1400714fd
inc rdi
jmp 0x14007158d
mov ecx, ebp
and ecx, 0x1f
movzx r8d, byte [rdi + 1]
and r8d, 0x3f
cmp bpl, 0xdf
jbe 0x14007154b
movzx edx, byte [rdi + 2]
shl r8d, 6
and edx, 0x3f
or edx, r8d
cmp bpl, 0xf0
jb 0x140071559
movzx ebp, byte [rdi + 3]
and ecx, 7
shl ecx, 0x12
shl edx, 6
and ebp, 0x3f
or ebp, edx
or ebp, ecx
cmp ebp, 0x110000
je 0x1400715df
add rdi, 4
jmp 0x140071564
add rdi, 2
shl ecx, 6
or ecx, r8d
mov ebp, ecx
jmp 0x14007158d
add rdi, 3
shl ecx, 0xc
or edx, ecx
mov ebp, edx
cmp ebp, 0xffff
jbe 0x14007158d
lea ecx, [rbp + 0xff0000]
shr ecx, 0xa
or ecx, 0xd800
and ebp, 0x3ff
or ebp, 0xdc00
mov ebx, ebp
mov ebp, ecx
jmp 0x14007158f
xor ebx, ebx
cmp rsi, qword [rsp + 0x210]
jne 0x1400714ca
lea rax, str.cmd.exe__d__c__Windows_file_names_may_not_contain_____or_end_with___
sub rax, rdi
add rax, 0x11
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
cmp bx, 1
sbb rdx, 0
lea r8, [rdx + 2]
mov rcx, r13
mov rdx, rsi
call fcn.1400c5870
mov rax, qword [rsp + 0x218]
jmp 0x1400714ca
mov rsi, qword [rsp + 0x220]
mov qword [rsp + 0xf0], rsi
movdqu xmm0, xmmword [rsp + 0x210]
movdqa xmmword [rsp + 0xe0], xmm0
mov rdx, qword [rsp + 0xe0]
cmp rsi, rdx
jne 0x140071623
lea rcx, [rsp + 0xe0]
call fcn.140067150
mov rsi, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xe8]
mov word [rbx + rsi*2], 0x22
inc rsi
mov qword [rsp + 0xf0], rsi
mov rdx, qword [rsp + 0x1d8]
lea rax, [rdx + rdx]
xor ecx, ecx
lea r13, [0x1401ad778]
mov rbp, qword [rsp + 0xd0]
cmp rax, rcx
je 0x1400717e0
cmp word [rbp + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x140071659
jmp 0x14007207a
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x114], xmm0
movdqu xmmword [rsp + 0x108], xmm0
movdqu xmmword [rsp + 0xf8], xmm0
movdqu xmmword [rsp + 0xe8], xmm0
movdqu xmmword [rsp + 0x128], xmm0
movdqu xmmword [rsp + 0x138], xmm0
test rdx, rdx
mov rcx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0x1d8]
jne 0x1400716cc
test r12, r12
jne 0x1400716cc
test rax, rax
je 0x1400716ef
mov dword [rsp + 0x11c], 0x100
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], r12
mov qword [rsp + 0x140], rdx
mov rax, qword [rsp + 0x158]
mov rsi, qword [rax + 0xb8]
test rsi, rsi
je 0x1400718f9
mov dword [rsp + 0xe0], 0x70
mov qword [rsp + 0x190], 0
mov rax, rsi
shr rax, 0x20
jne 0x140071aa9
mov qword [rsp + 0x180], rdx
lea r9, [rsp + 0x190]
xor ecx, ecx
mov qword [rsp + 0x1f8], rsi
mov edx, esi
xor r8d, r8d
call sub.kernel32.dll_InitializeProcThreadAttributeList
mov rsi, qword [rsp + 0x190]
test rsi, rsi
mov qword [rsp + 0x1e8], r12
je 0x140071b3e
js 0x1400717a7
movzx eax, byte [0x140228121]
mov rcx, qword [0x140228110]
test rcx, rcx
jne 0x140071791
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x1400717a7
mov rcx, rax
mov qword [0x140228110], rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapAlloc
mov rcx, rax
test rax, rax
jne 0x140071b43
ud2
movdqu xmm0, xmmword [rsp + 0x218]
movdqa xmmword [rsp + 0x190], xmm0
test r14, r14
je 0x140070201
mov rcx, qword [0x140228110]
mov rdi, rax
xor edx, edx
mov r8, rsi
call sub.kernel32.dll_HeapFree
mov rax, rdi
jmp 0x140070201
movzx eax, word [rbp + rdx*2 - 2]
cmp ax, 0x5c
je 0x14007207a
lea rdi, [rdx - 1]
test ax, ax
cmovne rdi, rdx
mov r13, qword [rsp + 0xe0]
mov rax, r13
sub rax, rsi
cmp rax, rdi
jb 0x140072274
lea r8, [rdi + rdi]
lea rcx, [rbx + rsi*2]
mov rdx, rbp
call sub.msvcrt.dll_memcpy
add rsi, rdi
mov qword [rsp + 0xf0], rsi
cmp rsi, r13
jne 0x140071851
lea rcx, [rsp + 0xe0]
mov rdx, r13
call fcn.140067150
mov rbx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
mov word [rbx + rsi*2], 0x22
inc qword [rsp + 0xf0]
cmp byte [rsp + 0x188], 0
je 0x140071e62
mov rax, qword [rsp + 0x60]
shl rax, 3
lea rdi, [rax + rax*4]
lea rsi, [rsp + 0xe0]
jmp 0x1400718cc
mov rbp, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x58]
lea rbx, [r15 + 0x28]
mov rax, qword [rsp + 0xe8]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xf0], rdx
mov rcx, rsi
mov rdx, r15
mov r8b, 1
call fcn.14006b2f0
add rdi, 0xffffffffffffffd8
mov r15, rbx
test rax, rax
jne 0x14007204a
test rdi, rdi
je 0x140071fdb
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe0]
jne 0x140071884
mov rcx, rsi
call fcn.140067150
mov rdx, qword [rsp + 0xf0]
jmp 0x140071884
mov qword [rsp + 0x180], rdx
mov dword [rsp + 0xe0], 0x68
lea rax, [rsp + 0xe0]
mov rdx, qword [rsp + 0x168]
lea r8, [rsp + 0x1b0]
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 1
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x140071ab9
mov rdi, r12
mov qword [rsp + 0x78], r13
mov qword [rsp + 0xd0], rbp
mov rax, rsi
mov rsi, qword [rsp + 0x90]
mov r13, qword [rsp + 0x98]
mov rbp, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
movaps xmm6, xmmword [rsp + 0x1b0]
test rax, rax
je 0x1400719db
mov rcx, qword [rsp + 0x188]
call sub.kernel32.dll_DeleteProcThreadAttributeList
cmp qword [rsp + 0x1f0], 0
je 0x1400719db
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x188]
call sub.kernel32.dll_HeapFree
mov rcx, qword [rsp + 0x180]
call sub.kernel32.dll_CloseHandle
mov rcx, rdi
call sub.kernel32.dll_CloseHandle
mov rcx, qword [rsp + 0x1d8]
call sub.kernel32.dll_CloseHandle
lea rcx, [0x140228038]
call sub.kernel32.dll_ReleaseSRWLockExclusive
cmp qword [rsp + 0x80], 0
je 0x140071a2a
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x1e0]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x58], 0
je 0x140071a45
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x78]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x160], 0
je 0x140071a66
mov r8, qword [rsp + 0x168]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x88], 0
mov r8, qword [rsp + 0xd8]
je 0x140071a87
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x68], 0
sete al
or al, byte [rsp + 0x60]
je 0x140071b15
cmp dword [rsp + 0x200], 4
jae 0x14006f396
jmp 0x14006f3a3
lea rsi, [0x1401ad350]
mov ebx, dword [rsp + 0x60]
jmp 0x1400720f0
call sub.kernel32.dll_GetLastError
shl rax, 0x20
or rax, 2
movq xmm6, rax
test rsi, rsi
je 0x140071afc
mov rbx, qword [rsp + 0x188]
mov rcx, rbx
call sub.kernel32.dll_DeleteProcThreadAttributeList
cmp qword [rsp + 0x1f0], 0
je 0x140071afc
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov ebx, dword [rsp + 0x60]
mov rsi, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x180]
jmp 0x1400720fd
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0xd0]
call sub.kernel32.dll_HeapFree
cmp dword [rsp + 0x200], 4
jae 0x14006f396
jmp 0x14006f3a3
mov ecx, 1
mov qword [rsp + 0x1f0], rsi
lea r9, [rsp + 0x190]
mov qword [rsp + 0x188], rcx
mov rdx, qword [rsp + 0x1f8]
xor r8d, r8d
call sub.kernel32.dll_InitializeProcThreadAttributeList
test eax, eax
je 0x140071e09
mov rcx, qword [rsp + 0x158]
mov rax, qword [rcx + 0xa8]
mov r12, qword [rcx + 0xb0]
xor ecx, ecx
test rax, rax
mov rbx, qword [rsp + 0x1f8]
mov rsi, rbx
cmove rsi, rax
setne cl
xor r14d, r14d
pxor xmm6, xmm6
sub rsi, 1
jb 0x140071d47
test rcx, rcx
je 0x140071be1
test r14, r14
jne 0x140071be1
test r12, r12
je 0x140071beb
mov rdx, r12
and rdx, 7
je 0x140071bf0
mov rcx, r12
and rcx, 0xfffffffffffffff8
mov r14, rax
mov r14, qword [r14 + 0x170]
dec rdx
jne 0x140071bd3
jmp 0x140071bf6
test rcx, rcx
jne 0x140071c3f
jmp 0x1400717a7
mov r14, rax
jmp 0x140071c3a
mov r14, rax
mov rcx, r12
cmp r12, 8
jb 0x140071c3a
mov rax, qword [r14 + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov r14, qword [rax + 0x170]
add rcx, 0xfffffffffffffff8
jne 0x140071bfc
xor eax, eax
xor r12d, r12d
movzx r8d, word [r14 + 0x16a]
mov rcx, r14
mov rdx, r12
cmp r12, r8
jb 0x140071c75
mov r8, qword [rcx]
test r8, r8
je 0x1400717a7
inc rax
movzx edx, word [rcx + 0x168]
mov rcx, r8
cmp dx, word [r8 + 0x16a]
jae 0x140071c52
test rax, rax
je 0x140071cf8
mov r14, qword [rcx + rdx*8 + 0x178]
mov r8, rax
dec r8
je 0x140071cf3
mov r9, r8
and r9, 7
je 0x140071cab
mov r8, r9
mov r14, qword [r14 + 0x170]
dec r8
jne 0x140071c96
not r9
add r9, rax
mov r8, r9
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x140071cf3
mov rax, qword [r14 + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov rax, qword [rax + 0x170]
mov r14, qword [rax + 0x170]
add r8, 0xfffffffffffffff8
jne 0x140071cb5
xor r12d, r12d
jmp 0x140071cff
lea r12, [rdx + 1]
mov r14, rcx
lea rax, [rdx + rdx*2]
mov r8, qword [rcx + rdx*8 + 8]
mov r9, qword [rcx + rax*8 + 0x60]
mov rax, qword [rcx + rax*8 + 0x70]
movdqu xmmword [rsp + 0x28], xmm6
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x188]
xor edx, edx
call sub.kernel32.dll_UpdateProcThreadAttribute
test eax, eax
je 0x140071e09
mov ecx, 1
mov eax, 0
dec rbx
jne 0x140071ba7
mov rcx, qword [rsp + 0x188]
test rcx, rcx
je 0x1400720cf
or r15d, 0x80000
mov rax, qword [rsp + 0x140]
mov qword [rsp + 0x270], rax
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x260], xmm0
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x250], xmm0
movdqu xmm0, xmmword [rsp + 0xe0]
movdqu xmm1, xmmword [rsp + 0xf0]
movdqu xmm2, xmmword [rsp + 0x100]
movdqu xmm3, xmmword [rsp + 0x110]
movdqa xmmword [rsp + 0x240], xmm3
movdqa xmmword [rsp + 0x230], xmm2
movdqa xmmword [rsp + 0x220], xmm1
movdqa xmmword [rsp + 0x210], xmm0
mov qword [rsp + 0x278], rcx
lea rax, [rsp + 0x210]
mov rcx, qword [rsp + 0xd8]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x1e8]
mov rsi, qword [rsp + 0x1f8]
jmp 0x140071914
call sub.kernel32.dll_GetLastError
mov esi, eax
shl rsi, 0x20
or rsi, 2
mov rbx, qword [rsp + 0x188]
mov rcx, rbx
call sub.kernel32.dll_DeleteProcThreadAttributeList
cmp qword [rsp + 0x1f0], 0
je 0x140071e44
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rbx
call sub.kernel32.dll_HeapFree
mov ebx, dword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x180]
jmp 0x1400720f0
mov rax, qword [rsp + 0x60]
lea rax, [rax + rax*4]
lea rdi, [r15 + rax*8]
lea rbp, [0x1401ad797]
and rbp, 0xfffffffffffffff8
lea r12, str._t_____________nthread__has_overflowed_its_stack_n
sub rbp, r12
sete al
cmp rbp, 0x16
mov ecx, 0x16
cmovae rbp, rcx
test rbp, rbp
sete r14b
or r14b, al
lea rsi, [rsp + 0xe0]
jmp 0x140071ec6
xor r8d, r8d
lea rbx, [r15 + 0x28]
mov rcx, rsi
mov rdx, r15
call fcn.14006b2f0
mov r15, rbx
test rax, rax
jne 0x14007206a
cmp r15, rdi
je 0x140071fdb
mov rdx, qword [rsp + 0xf0]
cmp rdx, qword [rsp + 0xe0]
jne 0x140071ef1
mov rcx, rsi
call fcn.140067150
mov rdx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe8]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xf0], rdx
cmp qword [r15], 0
jne 0x140071ea8
mov rax, qword [r15 + 0x10]
mov rcx, qword [r15 + 0x18]
add rcx, rax
cmp rax, rcx
je 0x140071ea8
movzx edx, byte [rax]
inc rax
xor r8d, r8d
test r14b, r14b
je 0x140071f8a
mov r9, rdx
movabs r10, 0x101010101010101
imul r9, r10
mov r10, qword [r8 + r12]
xor r10, r9
movabs rbx, 0xfefefefefefefeff
lea r11, [r10 + rbx]
not r10
and r10, r11
xor r9, qword [r8 + r12 + 8]
lea r11, [r9 + rbx]
not r9
and r9, r11
or r9, r10
movabs r10, 0x8080808080808080
test r9, r10
je 0x140071fa3
lea r10, [r12 + r8]
mov r9d, 0x16
sub r9, r8
jmp 0x140071fbd
cmp byte [r8 + r12], dl
je 0x140071fd3
inc r8
cmp rbp, r8
jne 0x140071f8a
mov r8, rbp
cmp rbp, 6
jbe 0x140071f2e
jmp 0x140071fa7
add r8, 0x10
mov r9, r8
sub r9, 0x16
je 0x140071f1b
add r8, r12
neg r9
mov r10, r8
xor r8d, r8d
cmp byte [r10 + r8], dl
je 0x140071fd3
inc r8
cmp r9, r8
jne 0x140071fc0
jmp 0x140071f1b
mov r8b, 1
jmp 0x140071eab
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
cmp rax, rdx
jne 0x140072010
lea rcx, [rsp + 0xe0]
mov rdx, rax
call fcn.140067150
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xe8]
mov word [r13 + rax*2], 0x22
movabs r12, 0x8000000000000000
cmp rdx, r12
jne 0x14007204f
mov rbp, qword [rsp + 0xd0]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x58]
jmp 0x1400720a0
call fcn.140072440
ud2
mov r13, rax
jmp 0x14007207a
inc rax
xor r8d, r8d
mov rbp, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xd8]
jmp 0x1400703d8
mov r13, rax
mov rbp, qword [rsp + 0xd0]
mov r12, qword [rsp + 0x58]
cmp qword [rsp + 0xe0], 0
je 0x14007209b
mov r8, qword [rsp + 0xe8]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov r15, qword [rsp + 0x78]
movq xmm6, r13
cmp qword [rsp + 0x88], 0
mov r8, qword [rsp + 0xd8]
je 0x14007058a
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
jmp 0x14007058a
mov ebx, dword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x1f0]
movq xmm6, rsi
mov rsi, qword [rsp + 0x80]
mov rcx, rdx
call sub.kernel32.dll_CloseHandle
mov rcx, r12
call sub.kernel32.dll_CloseHandle
mov rcx, qword [rsp + 0x1d8]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0x90], 0
je 0x140072132
mov rcx, qword [rsp + 0x98]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0xa0], 0
je 0x14007214a
mov rcx, qword [rsp + 0xa8]
call sub.kernel32.dll_CloseHandle
cmp qword [rsp + 0xb0], 0
je 0x140072162
mov rcx, qword [rsp + 0xb8]
call sub.kernel32.dll_CloseHandle
lea rcx, [0x140228038]
call sub.kernel32.dll_ReleaseSRWLockExclusive
test rsi, rsi
je 0x140072189
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0x1e0]
call sub.kernel32.dll_HeapFree
test r14, r14
je 0x14007219f
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, r13
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x160], 0
je 0x1400721c0
mov r8, qword [rsp + 0x168]
mov rcx, qword [0x140228110]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x88], 0
je 0x1400721e1
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, qword [rsp + 0xd8]
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x68], 0
sete al
or al, bl
jne 0x14006f378
mov rcx, qword [0x140228110]
xor edx, edx
mov r8, rbp
call sub.kernel32.dll_HeapFree
jmp 0x14006f378
mov r13, qword [rsp + 0x78]
lea rcx, [rsp + 0x210]
call fcn.140068610
cmp qword [rsp + 0x90], 0
jne 0x140070d63
jmp 0x1400711a0
mov r8, qword [rsp + 0x218]
mov rdx, qword [rsp + 0x220]
mov rax, qword [rsp + 0x228]
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x210], 0
mov qword [rsp + 0x210], 0
je 0x14007113d
test r8, r8
jne 0x1400710fb
jmp 0x140070da8
lea rcx, [rsp + 0xe0]
mov rdx, rsi
mov r8, rdi
call fcn.1400c5870
mov rsi, qword [rsp + 0xf0]
mov r13, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xe8]
jmp 0x140071811
mov edx, 8
mov rcx, r8
call fcn.140003be0
ud2