Function at 0x14008fc50
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, 0x6a8
movdqa xmmword [rsp + 0x690], xmm6
mov r14, rcx
mov dword [rsp + 0x248], 0
movzx eax, byte [rdx + 0xa0]
test al, al
sete cl
mov qword [rsp + 0xb0], rdx
mov r8, qword [rdx + 0x98]
test r8, r8
sete dl
and dl, cl
mov byte [rsp + 0xc0], dl
je 0x14008fcae
xor r13d, r13d
jmp 0x140090a2b
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x160], 0
test al, al
je 0x14008fcec
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x88]
test rax, rax
jne 0x14008fef3
jmp 0x1400908a2
mov qword [rsp + 0x60], r8
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x140092954
mov rdi, rax
cmp word [rax], 0
je 0x14008fece
lea r14, [rsp + 0x290]
lea r12, [rsp + 0xd0]
lea rsi, [rsp + 0x670]
mov rbx, rdi
jmp 0x14008fd3e
cmp word [rbp], 0
mov rbx, rbp
je 0x14008fece
mov r15, 0xffffffffffffffff
mov rcx, 0xfffffffffffffffe
nop dword [rax]
mov rax, rcx
cmp word [rbx + r15*2 + 2], 0
lea r15, [r15 + 1]
lea rcx, [rcx + 2]
jne 0x14008fd50
lea rbp, [rbx + r15*2]
add rbp, 2
cmp r15, 1
je 0x14008fd30
test r15, r15
je 0x1400927d6
xor r13d, r13d
nop
cmp word [rbx + r13*2 + 2], 0x3d
je 0x14008fda0
inc r13
add rax, 0xfffffffffffffffe
jne 0x14008fd80
jmp 0x14008fd30
cmp r13, r15
jae 0x1400927d6
lea r8, [r13 + 1]
mov rcx, r12
mov rdx, rbx
call fcn.140093420
add r13, 2
sub r15, r13
jb 0x1400927d6
lea rdx, [rbx + r13*2]
mov rcx, r14
mov r8, r15
call fcn.140093420
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov rbx, qword [rsp + 0x270]
mov r15, qword [rsp + 0x278]
movdqa xmm6, xmmword [rsp + 0x280]
movups xmm0, xmmword [r14]
movups xmm1, xmmword [r14 + 0x10]
movaps xmmword [rsp + 0x670], xmm0
movaps xmmword [rsp + 0x680], xmm1
movabs rax, 0x8000000000000000
cmp rbx, rax
je 0x14008fece
movq rax, xmm6
add rax, r15
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xd8], rax
mov word [rsp + 0xe0], 0
lea rcx, [rsp + 0x290]
mov rdx, r12
call fcn.14008eba0
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], r15
movdqu xmmword [rsp + 0x280], xmm6
mov rcx, r12
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x270]
mov r9, rsi
call fcn.140082890
mov rax, qword [rsp + 0xd0]
shl rax, 1
test rax, rax
je 0x14008fd30
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x14008fd30
mov rcx, rdi
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov r8, qword [rsp + 0x60]
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x88]
test rax, rax
je 0x1400908a2
test r8, r8
je 0x1400908a2
mov rcx, qword [rsp + 0xb0]
mov rbp, qword [rcx + 0x90]
xor r14d, r14d
jmp 0x14008ff41
mov r8, qword [rsp + 0x178]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov eax, 0
mov r8, qword [rsp + 0x60]
dec r8
mov rbp, qword [rsp + 0xb8]
je 0x1400908a2
test r14, r14
je 0x14008ff60
movzx ecx, word [r14 + 0x3d2]
cmp rbp, rcx
jae 0x140090010
mov rbx, r14
jmp 0x140090037
test rbp, rbp
je 0x14008ff94
mov rdx, rbp
and rdx, 7
je 0x14008ff99
mov rcx, rbp
and rcx, 0xfffffffffffffff8
mov r14, rax
nop dword [rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rdx
jne 0x14008ff80
cmp rbp, 8
jae 0x14008ffb0
jmp 0x14008ffee
mov r14, rax
jmp 0x14008ffee
mov r14, rax
mov rcx, rbp
cmp rbp, 8
jb 0x14008ffee
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 0x14008ffb0
xor ebp, ebp
xor eax, eax
movzx ecx, word [r14 + 0x3d2]
cmp rbp, rcx
jb 0x14008ff57
nop word cs:[rax + rax]
mov rbx, qword [r14 + 0x160]
test rbx, rbx
je 0x1400927d6
inc rax
movzx ebp, word [r14 + 0x3d0]
mov r14, rbx
cmp bp, word [rbx + 0x3d2]
jae 0x140090010
test rax, rax
mov qword [rsp + 0x60], r8
je 0x1400900e0
mov r14, qword [rbx + rbp*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x1400900ce
mov rdx, rcx
and rdx, 7
je 0x140090085
mov rcx, rdx
nop word cs:[rax + rax]
mov r14, qword [r14 + 0x3d8]
dec rcx
jne 0x140090070
not rdx
add rdx, rax
mov rcx, rdx
add rax, 0xfffffffffffffffe
cmp rax, 7
jb 0x1400900ce
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 0x140090090
xor r13d, r13d
jmp 0x1400900e7
lea r13, [rbp + 1]
mov r14, rbx
imul rax, rbp, 0x38
lea r12, [rbx + rax]
add r12, 0x168
shl rbp, 5
movabs rax, 0x8000000000000000
cmp qword [rbx + rbp], rax
mov qword [rsp + 0xb8], r13
jne 0x140090200
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xa8], rax
test rax, rax
je 0x14008ff26
mov rax, qword [rsp + 0x158]
mov rsi, qword [r12 + 0x28]
mov r15d, dword [r12 + 0x30]
lea ecx, [rax + 7]
mov dword [rsp + 0x68], ecx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x70], rax
mov rbp, qword [rsp + 0xa8]
lea rcx, [rbp + 0x168]
movzx r13d, word [rbp + 0x3d2]
imul rbx, r13, 0x38
mov r12, 0xffffffffffffffff
nop word [rax + rax]
test rbx, rbx
je 0x1400901d0
lea rdi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rsi
mov edx, r15d
call sub.KERNEL32.dll_CompareStringOrdinal
add rbx, 0xffffffffffffffc8
inc r12
mov rcx, rdi
cmp eax, 3
je 0x140090180
cmp eax, 1
jne 0x140090240
mov rax, qword [rsp + 0x70]
test rax, rax
jne 0x1400901e1
jmp 0x14008ff26
mov r12, r13
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14008ff26
mov rbp, qword [rbp + r12*8 + 0x3d8]
dec rax
mov qword [rsp + 0x70], rax
mov eax, dword [rsp + 0x68]
add al, 7
mov dword [rsp + 0x68], eax
jmp 0x14009015d
mov r15, qword [r12 + 8]
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x14009043f
js 0x1400927d6
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008b700
mov rdi, rax
test rax, rax
jne 0x140090444
jmp 0x1400927d6
cmp eax, 2
mov r9, qword [rsp + 0x70]
jne 0x140092954
mov byte [rsp + 0x230], 0
test r9, r9
je 0x1400905a9
mov rax, qword [rbp + r12*8 + 0x3d8]
mov rcx, r9
dec rcx
je 0x14009033e
test cl, 7
je 0x1400902b6
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 0x140090290
mov rcx, r9
sub rcx, rdx
add r9, 0xfffffffffffffffe
cmp r9, 7
jb 0x14009033e
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 0x1400902c0
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], rcx
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0x138]
lea r8, [rsp + 0x230]
call fcn.14007fc60
mov rax, qword [rsp + 0x2a0]
mov qword [rsp + 0x1a0], rax
movups xmm0, xmmword [rsp + 0x270]
movups xmm1, xmmword [rsp + 0x280]
movups xmm2, xmmword [rsp + 0x290]
movaps xmmword [rsp + 0x190], xmm2
movaps xmmword [rsp + 0x180], xmm1
movaps xmmword [rsp + 0x170], xmm0
lea rax, [rsp + 0x2a8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm1
mov r9, qword [rsp + 0x2c8]
mov r8, qword [rsp + 0x2d0]
mov rdx, qword [rsp + 0x2d8]
movzx eax, word [r9 + 0x3d2]
cmp rdx, rax
jae 0x140090410
mov rax, r9
mov rcx, r8
jmp 0x1400905f7
mov rax, qword [r9 + 0x160]
test rax, rax
je 0x1400905ef
inc r8
movzx edx, word [r9 + 0x3d0]
mov r9, rax
mov rcx, r8
cmp dx, word [rax + 0x3d2]
jae 0x140090410
jmp 0x1400905f7
mov edi, 1
mov rcx, rdi
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [r12 + 0x18]
mov rdx, qword [r12 + 0x28]
mov r15, qword [r12 + 0x30]
test r15, r15
mov byte [rsp + 0x70], al
je 0x1400904b0
mov qword [rsp + 0x68], rdi
mov rax, r15
shr rax, 0x3e
jne 0x1400927d6
mov rdi, rsi
mov rsi, rdx
lea r12, [r15 + r15]
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, r12
call fcn.14008b700
mov r13, rax
test rax, rax
mov rdx, rsi
mov rsi, rdi
mov rdi, qword [rsp + 0x68]
jne 0x1400904b9
jmp 0x1400927d6
mov r13d, 2
xor r12d, r12d
add rbx, rbp
mov rcx, r13
mov r8, r12
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x290], r15
mov qword [rsp + 0x298], r13
mov qword [rsp + 0x2a0], r15
mov qword [rsp + 0x270], rsi
mov qword [rsp + 0x278], rdi
mov qword [rsp + 0x280], rsi
movzx eax, byte [rsp + 0x70]
mov byte [rsp + 0x288], al
mov rdi, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x140090534
js 0x1400927d6
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rsi
call fcn.14008b700
mov r15, rax
test rax, rax
jne 0x14009053a
jmp 0x1400927d6
mov r15d, 1
mov rcx, r15
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xe0], rsi
movzx eax, byte [rbx + 0x18]
mov byte [rsp + 0xe8], al
lea rcx, [rsp + 0x170]
lea rdx, [rsp + 0x150]
lea r8, [rsp + 0x270]
lea r9, [rsp + 0xd0]
call fcn.140082890
mov rax, qword [rsp + 0x170]
shl rax, 1
test rax, rax
je 0x14008ff26
jmp 0x14008ff10
mov qword [rsp + 0xd0], rbp
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], r12
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0xd0]
lea r8, [rsp + 0x230]
call fcn.14007fc60
mov r9, qword [rsp + 0xc8]
jmp 0x1400907c0
xor eax, eax
mov rcx, r9
mov rdx, r8
imul r8, rdx, 0x38
mov r9, rdx
shl r9, 5
mov r10, qword [rax + r8 + 0x198]
mov qword [rsp + 0x100], r10
movups xmm0, xmmword [rax + r8 + 0x168]
movups xmm1, xmmword [rax + r8 + 0x178]
movups xmm2, xmmword [rax + r8 + 0x188]
movaps xmmword [rsp + 0xf0], xmm2
movaps xmmword [rsp + 0xe0], xmm1
movaps xmmword [rsp + 0xd0], xmm0
mov r10, qword [rsp + 0x1a0]
mov qword [rax + r8 + 0x198], r10
movaps xmm0, xmmword [rsp + 0x170]
movaps xmm1, xmmword [rsp + 0x180]
movaps xmm2, xmmword [rsp + 0x190]
movups 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 + 0x108]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movaps xmm0, xmmword [rsp + 0x80]
movaps xmm1, xmmword [rsp + 0x90]
movups xmmword [rax + r9], xmm0
movups xmmword [rax + r9 + 0x10], xmm1
test rcx, rcx
je 0x140090750
mov rax, qword [rax + rdx*8 + 0x3e0]
mov rdx, rcx
dec rdx
mov r9, qword [rsp + 0xc8]
je 0x140090758
mov r8, rdx
and r8, 7
je 0x140090705
mov rdx, r8
nop dword [rax]
mov rax, qword [rax + 0x3d8]
dec rdx
jne 0x1400906f0
not r8
add r8, rcx
mov rdx, r8
add rcx, 0xfffffffffffffffe
cmp rcx, 7
jb 0x140090758
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 0x140090710
jmp 0x140090758
mov r9, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0x120]
mov qword [rsp + 0x2c0], rcx
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmm1, xmmword [rsp + 0xe0]
movaps xmm2, xmmword [rsp + 0xf0]
movaps xmm3, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x2a0], xmm3
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x270], xmm0
mov qword [rsp + 0x2c8], rax
mov r13, qword [rsp + 0x270]
mov r15, qword [rsp + 0x278]
mov r12, qword [rsp + 0x290]
mov rdi, qword [rsp + 0x298]
dec qword [rsp + 0x160]
mov rbx, qword [rsp + 0x2a8]
mov rsi, qword [rsp + 0x2b0]
cmp byte [rsp + 0x230], 0
je 0x140090846
test r9, r9
je 0x1400927d6
mov r8, qword [rsp + 0xa8]
mov rax, qword [r8 + 0x3d8]
mov qword [rsp + 0x150], rax
dec r9
mov qword [rsp + 0x158], r9
mov qword [rax + 0x160], 0
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movabs rax, 0x8000000000000000
cmp r13, rax
je 0x14008ff26
test r13, r13
je 0x14009086f
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
test r12, r12
je 0x140090885
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
shl rbx, 1
test rbx, rbx
je 0x14008ff26
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
jmp 0x14008ff21
mov r12, qword [rsp + 0x150]
mov r13, qword [rsp + 0x158]
mov rsi, qword [rsp + 0x160]
movzx eax, byte [0x140259141]
mov edx, 4
xor ecx, ecx
call fcn.14008b700
test rax, rax
je 0x1400927d6
mov r15, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0x270], r15
mov qword [rsp + 0x278], rax
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x270]
call fcn.14008eba0
mov rbp, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
test r12, r12
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0x70], r13
je 0x1400909fc
mov qword [rsp + 0xa8], rbp
mov qword [rsp + 0x68], r15
mov rdi, qword [rsp + 0xe0]
mov qword [rsp + 0x60], r12
lea rcx, [r12 + 0x168]
movzx r14d, word [r12 + 0x3d2]
imul r15, r14, 0x38
mov rbp, 0xffffffffffffffff
nop
test r15, r15
je 0x1400909b0
lea rsi, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9d, dword [rcx + 0x30]
mov dword [rsp + 0x20], 1
mov rcx, rbx
mov edx, edi
call sub.KERNEL32.dll_CompareStringOrdinal
add r15, 0xffffffffffffffc8
inc rbp
mov rcx, rsi
cmp eax, 3
je 0x140090970
cmp eax, 1
jne 0x1400909cc
jmp 0x1400909b3
mov rbp, r14
mov r14, qword [rsp + 0x78]
sub r13, 1
jb 0x140090e1f
mov r12, qword [r12 + rbp*8 + 0x3d8]
jmp 0x140090952
cmp eax, 2
mov r14, qword [rsp + 0x78]
jne 0x140092954
shl rbp, 5
mov r13, qword [r12 + rbp + 8]
mov rdi, qword [r12 + rbp + 0x10]
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov rbp, qword [rsp + 0xa8]
jmp 0x140090a04
xor r13d, r13d
mov r14, qword [rsp + 0x78]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
test rbp, rbp
je 0x140090a2b
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov rax, qword [rsp + 0xb0]
mov r15, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov qword [rsp + 0x1b0], r15
mov qword [rsp + 0x1b8], rbx
lea rsi, [0x1401db6c8]
test rbx, rbx
je 0x14009225b
cmp rbx, 4
jae 0x140090a79
lea rax, [0x140093a00]
movzx ecx, byte [rbx + r15 - 1]
call rax
test al, al
je 0x140090aa2
jmp 0x14009225b
cmp dword [r15], 0x5c3f5c5c
lea rcx, [0x140093a10]
lea rax, [0x140093a00]
cmove rax, rcx
movzx ecx, byte [rbx + r15 - 1]
call rax
test al, al
jne 0x14009225b
mov qword [rsp + 0x60], r12
movabs r12, 0x8000000000000000
lea rax, [r15 + rbx]
cmp rbx, 3
jbe 0x140090b9b
movzx ecx, byte [rax - 4]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x2e
jne 0x140090bbd
movzx ecx, byte [rax - 3]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
mov cl, 1
cmp dl, 0x65
jne 0x140090b28
movzx edx, byte [rax - 2]
lea r8d, [rdx - 0x41]
cmp r8b, 0x1a
setb r8b
shl r8b, 5
or r8b, dl
cmp r8b, 0x78
jne 0x140090b28
movzx ecx, byte [rax - 1]
lea edx, [rcx - 0x41]
cmp dl, 0x1a
setb dl
shl dl, 5
or dl, cl
cmp dl, 0x65
setne cl
xor edx, edx
nop word [rax + rax]
cmp rbx, rdx
je 0x140090cc1
movzx r8d, byte [r15 + rdx]
cmp r8d, 0x2f
je 0x140090b4d
inc rdx
cmp r8d, 0x5c
jne 0x140090b30
test cl, cl
jne 0x140090bdb
mov qword [rsp + 0x78], r14
lea rcx, [rsp + 0xd0]
mov rdx, r15
mov r8, rbx
call fcn.1400859f0
mov rax, qword [rsp + 0xd0]
cmp rax, r12
jne 0x140090e41
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1c0], r12
jmp 0x140090f16
xor ecx, ecx
nop dword [rax]
cmp rbx, rcx
je 0x140090cc1
movzx edx, byte [r15 + rcx]
cmp edx, 0x2f
je 0x140090bdb
inc rcx
cmp edx, 0x5c
jne 0x140090ba0
jmp 0x140090bdb
xor ecx, ecx
nop
cmp rbx, rcx
je 0x140090cc1
movzx edx, byte [r15 + rcx]
cmp edx, 0x2f
je 0x140090bdb
inc rcx
cmp edx, 0x5c
jne 0x140090bc0
test rbx, rbx
js 0x1400927d6
movzx eax, byte [0x140259141]
xor ecx, ecx
mov rdx, rbx
call fcn.14008b700
test rax, rax
je 0x1400927d6
mov rsi, rax
mov rcx, rax
mov rdx, r15
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], rsi
mov qword [rsp + 0x280], rbx
mov byte [rsp + 0x288], 0
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x270]
mov r8d, 4
call fcn.14008ef90
mov rdi, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x278]
mov rsi, qword [rsp + 0x280]
lea rcx, [rsp + 0x258]
mov rdx, rbx
mov r8, rsi
call fcn.14008b750
cmp qword [rsp + 0x258], r12
mov qword [rsp + 0x78], r14
jne 0x140090d96
mov rcx, rbx
mov rdx, rsi
call fcn.140085650
test rax, rax
je 0x140090e99
cmp rdx, 2
jne 0x140090dbb
movzx ecx, word [rax]
cmp ecx, 0x2e2e
jne 0x140090dbb
mov ecx, 2
xor r8d, r8d
jmp 0x140090e79
xor r9d, r9d
lea rsi, str.nul_byte_found_in_provided_dataPATHprogram_path_has_no_file_name
mov rcx, r15
jmp 0x140090cdc
xor r9d, r9d
test dx, dx
je 0x140092256
mov dx, 1
test r9w, r9w
jne 0x140090cd0
cmp rcx, rax
je 0x140090dea
movzx r9d, byte [rcx]
test r9b, r9b
js 0x140090d00
inc rcx
mov r8d, r9d
jmp 0x140090d61
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r9b, 0xdf
jbe 0x140090d56
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r9b, 0xf0
jb 0x140090d6c
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
jbe 0x140090d61
jmp 0x140090d80
add rcx, 2
shl r8d, 6
or r8d, r11d
xor r9d, r9d
mov edx, r8d
jmp 0x140090cd3
add rcx, 3
shl r8d, 0xc
or r8d, r10d
cmp r8d, 0xffff
jbe 0x140090d61
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x140090cd3
mov rax, qword [rsp + 0x268]
mov qword [rsp + 0x1d0], rax
movups xmm0, xmmword [rsp + 0x258]
movaps xmmword [rsp + 0x1c0], xmm0
jmp 0x140090f00
mov rcx, rdx
nop
test rcx, rcx
je 0x140090e18
mov r9, rcx
dec rcx
cmp byte [rax + r9 - 1], 0x2e
jne 0x140090dc0
test rcx, rcx
je 0x140090e73
sub rdx, r9
mov r8, rax
add r8, r9
jmp 0x140090e79
cmp rbx, 0xf
ja 0x140090e2c
xor ebp, ebp
xor eax, eax
nop word cs:[rax + rax]
cmp byte [r15 + rax], 0x2e
je 0x140091252
inc rax
cmp rbx, rax
jne 0x140090e00
jmp 0x140091257
mov r8, rax
xor eax, eax
jmp 0x140090e79
mov r12, qword [rsp + 0x60]
xor r13d, r13d
jmp 0x1400909ed
mov cl, 0x2e
mov rdx, r15
mov r8, rbx
call fcn.14000f3f0
mov rbp, rax
jmp 0x140091257
movups xmm0, xmmword [rsp + 0xd8]
mov qword [rsp + 0x270], rax
movups xmmword [rsp + 0x278], xmm0
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x270]
call fcn.14008d9c0
jmp 0x140090f16
xor r8d, r8d
mov rcx, rdx
test rax, rax
cmovne r8, rax
test r8, r8
je 0x140090e99
test rax, rax
cmove rcx, rdx
add r8, rcx
sub r8, rbx
cmp rsi, r8
cmovae rsi, r8
lea rcx, [rsp + 0x270]
mov rdx, rbx
mov r8, rsi
call fcn.1400859f0
mov rax, qword [rsp + 0x270]
cmp rax, r12
jne 0x140090ed3
mov rax, qword [rsp + 0x278]
mov qword [rsp + 0x1c8], rax
mov qword [rsp + 0x1c0], r12
jmp 0x140090f00
movups xmm0, xmmword [rsp + 0x278]
mov qword [rsp + 0x270], rax
movups xmmword [rsp + 0x278], xmm0
lea rcx, [rsp + 0x1c0]
lea rdx, [rsp + 0x270]
call fcn.14008d9c0
test rdi, rdi
je 0x140090f16
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x1c0]
cmp r14, r12
jne 0x140090f5e
movq xmm6, qword [rsp + 0x1c8]
mov r14, qword [rsp + 0x78]
movzx eax, byte [rsp + 0xc0]
mov r12, qword [rsp + 0x60]
test al, al
je 0x140092270
cmp dword [rsp + 0x248], 3
ja 0x1400922f8
mov edi, 2
jmp 0x140092806
mov rbx, qword [rsp + 0x1c8]
mov r15, qword [rsp + 0x1d0]
cmp r15, 5
jb case.0x1400919e7.68
lea rax, [rbx + r15*2]
mov rcx, rax
add rcx, 0xfffffffffffffff6
je case.0x1400919e7.68
cmp word [rcx], 0x2e
jne case.0x1400919e7.68
cmp word [rax - 2], 0
je 0x1400919c9
mov rax, qword [rsp + 0xb0]
mov r13, qword [rax + 8]
mov r15, qword [rax + 0x28]
mov r12, qword [rax + 0x30]
movzx esi, byte [rax + 0xc5]
mov rbp, qword [rax + 0x10]
add rbp, r13
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], 0
lea rdi, [rsp + 0xd0]
mov rcx, rdi
xor edx, edx
call fcn.1400a5650
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0x270], r13
mov qword [rsp + 0x278], rbp
mov word [rsp + 0x280], 0
lea rdx, [rsp + 0x270]
mov rcx, rdi
call fcn.14008ea10
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rsp + 0xd0]
jne 0x14009105c
lea rcx, [rsp + 0xd0]
call fcn.1400a5650
mov rdx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xd8]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xe0], rdx
shl r12, 3
lea r12, [r12 + r12*4]
lea rdi, [rsp + 0xd0]
jmp 0x1400910cb
lea r13, [r15 + 0x28]
mov rax, qword [rsp + 0xd8]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xe0], rdx
mov rcx, rdi
mov rdx, r15
mov r8d, esi
call fcn.14008d010
add r12, 0xffffffffffffffd8
mov r15, r13
test rax, rax
jne 0x1400911ad
test r12, r12
je 0x1400910f4
mov rdx, qword [rsp + 0xe0]
cmp rdx, qword [rsp + 0xd0]
jne 0x140091090
mov rcx, rdi
call fcn.1400a5650
mov rdx, qword [rsp + 0xe0]
jmp 0x140091090
mov rdx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xd8]
movabs r12, 0x8000000000000000
cmp rdx, r12
je 0x1400911d4
mov rcx, qword [rsp + 0xe0]
mov r13b, 1
mov rbp, r14
mov r15, rbx
mov qword [rsp + 0x138], rdx
mov qword [rsp + 0x140], rax
mov qword [rsp + 0x148], rcx
cmp rcx, rdx
jne 0x140091162
lea rcx, [rsp + 0x138]
call fcn.1400a5650
mov rax, qword [rsp + 0x140]
mov rcx, qword [rsp + 0x148]
mov word [rax + rcx*2], 0
inc qword [rsp + 0x148]
mov rcx, qword [rsp + 0xb0]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov edi, 0x608
cmove edi, eax
or edi, dword [rcx + 0xc0]
cmp byte [rsp + 0xc0], 0
je 0x14009120e
mov rax, rcx
mov esi, 2
xor ecx, ecx
xor edx, edx
jmp 0x140091b84
cmp qword [rsp + 0xd0], 0
je 0x1400911d4
mov r8, qword [rsp + 0xd8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov rsi, rax
call sub.KERNEL32.dll_HeapFree
mov rax, rsi
mov r12, qword [rsp + 0x60]
movq xmm6, rax
test r14, r14
je 0x1400911f4
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x78]
movzx eax, byte [rsp + 0xc0]
test al, al
jne 0x140090f46
jmp 0x140092270
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 2
mov qword [rsp + 0x90], 0
cmp qword [rsp + 0xb8], 0
je 0x140091a5c
mov esi, 2
xor ebp, ebp
jmp 0x140091a8f
mov ebp, 1
cmp rbp, 1
sete byte [rsp + 0x5f]
test r13, r13
mov qword [rsp + 0x78], r14
je 0x1400913b9
add rdi, r13
mov qword [rsp + 0x170], r13
mov qword [rsp + 0x178], rdi
mov word [rsp + 0x180], 0
mov byte [rsp + 0x188], 1
lea rsi, [rsp + 0x270]
lea r13, [rsp + 0x170]
lea rdi, [rsp + 0xd0]
nop dword [rax + rax]
mov rcx, rsi
mov rdx, r13
call fcn.14008e1a0
mov rax, qword [rsp + 0x270]
cmp rax, r12
je 0x1400913b9
mov r8, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x280]
test rcx, rcx
jne 0x1400912f6
test rax, rax
je 0x1400912b0
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x1400912b0
mov rdx, qword [rsp + 0x288]
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd0], rax
mov rcx, rdi
mov rdx, r15
mov r8, rbx
call fcn.140084390
mov qword [rsp + 0x68], rbp
cmp rbp, 1
je 0x14009134c
mov r8d, 3
mov rcx, rdi
lea rdx, str.exe.NULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
call fcn.140085770
mov rbp, rdi
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0x230]
mov rdx, rdi
call fcn.14008b750
cmp qword [rsp + 0xd0], 0
je 0x14009138b
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x230]
cmp r14, r12
mov rdi, rbp
mov rbp, qword [rsp + 0x68]
je 0x1400912b0
mov rbx, qword [rsp + 0x238]
mov r15, qword [rsp + 0x240]
jmp 0x140090f6e
lea rcx, [rsp + 0xd0]
call fcn.140085b70
mov rbx, qword [rsp + 0xd0]
cmp rbx, r12
jne 0x140091441
mov rax, qword [rsp + 0xd8]
mov ecx, eax
and ecx, 3
lea rdx, [rcx - 2]
cmp rdx, 2
jb 0x14009151d
test rcx, rcx
je 0x14009151d
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 0x14009142b
cmp qword [rbx + 0x10], 0x11
jb 0x14009141a
mov rdi, qword [rdi - 8]
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x14009151d
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
mov r14, qword [rsp + 0xe8]
mov rcx, rsi
mov rdx, rdi
call fcn.140084fd0
cmp rdi, rdx
cmovb rdx, rdi
test rax, rax
cmove rdx, rdi
mov qword [rsp + 0x270], rbx
mov qword [rsp + 0x278], rsi
mov qword [rsp + 0x280], rdx
mov qword [rsp + 0x288], r14
mov rdx, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x1b8]
lea rcx, [rsp + 0x270]
call fcn.140084390
cmp byte [rsp + 0x5f], 0
jne 0x1400914d0
lea rdx, str.exe.NULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
lea rcx, [rsp + 0x270]
mov r8d, 3
call fcn.140085770
mov rsi, qword [rsp + 0x278]
mov r8, qword [rsp + 0x280]
lea rcx, [rsp + 0x150]
mov rdx, rsi
call fcn.14008b750
cmp qword [rsp + 0x270], 0
je 0x14009150c
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x150]
cmp r14, r12
jne 0x1400919b4
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 2
mov qword [rsp + 0x90], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x68], rax
xor r15d, r15d
mov r13d, 0xffffffff
xor r12d, r12d
xor ebx, ebx
cmp r8, 0x201
jb 0x14009157f
jmp 0x1400915a0
jae 0x140091659
cmp r8, 0x201
jae 0x1400915a0
mov esi, 0x200
lea rdi, [rsp + 0x270]
mov r14, r8
jmp 0x1400915d1
sub r8, rbx
sub r12, rbx
cmp r12, r8
jb 0x14009162f
cmp r15, r13
mov ebx, 0xffffffff
cmovb rbx, r15
mov qword [rsp + 0x90], rbx
mov r12, r15
mov rsi, rbx
mov rdi, qword [rsp + 0x68]
mov r14, rbx
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov rcx, rdi
mov edx, r14d
call sub.KERNEL32.dll_GetSystemDirectoryW
mov ebp, eax
test eax, eax
jne 0x1400915f6
call sub.KERNEL32.dll_GetLastError
test eax, eax
jne 0x14009173d
mov r8d, ebp
cmp r14, r8
jne 0x140091570
call sub.KERNEL32.dll_GetLastError
cmp eax, 0x7a
jne 0x1400927d6
add r14, r14
cmp r14, r13
cmovae r14, r13
mov r8, r14
cmp r8, 0x201
jae 0x1400915a0
jmp 0x14009157f
lea rcx, [rsp + 0x80]
mov rdx, rbx
call fcn.140086750
mov r15, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], rax
jmp 0x1400915af
cmp rsi, r8
jb 0x1400927d6
lea rsi, [rsp + 0xd0]
mov rcx, rsi
mov rdx, rdi
call fcn.140093420
mov rdx, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x1b8]
mov rcx, rsi
call fcn.140084390
cmp byte [rsp + 0x5f], 0
movabs r12, 0x8000000000000000
jne 0x1400916b8
lea rdx, str.exe.NULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
lea rcx, [rsp + 0xd0]
mov r8d, 3
call fcn.140085770
mov rsi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
lea rcx, [rsp + 0x170]
mov rdx, rsi
call fcn.14008b750
cmp qword [rsp + 0xd0], 0
je 0x1400916f4
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
mov r15, qword [rsp + 0x180]
cmp qword [rsp + 0x80], 0
je 0x14009172d
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rax, [r12 + 2]
cmp r14, rax
jge 0x140090f6e
jmp 0x14009177c
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
shl rbx, 0x20
or rbx, 2
cmp qword [rsp + 0x80], 0
je 0x14009176d
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
movabs r12, 0x8000000000000000
lea r14, [r12 + 1]
mov rcx, r14
mov rdx, rbx
call fcn.14008b870
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0x1b0]
lea r8, [rsp + 0x5f]
call fcn.1400862d0
mov r14, qword [rsp + 0x270]
mov rbx, qword [rsp + 0x278]
lea rax, [r12 + 2]
cmp r14, rax
jge 0x1400919a7
mov rcx, r14
mov rdx, rbx
call fcn.14008b870
lea rdx, [0x1401db6a2]
lea rcx, [rsp + 0x80]
mov r8d, 4
call fcn.14008e3e0
mov rax, r12
mov r12, qword [rsp + 0x80]
cmp r12, rax
je 0x14009224a
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
add rax, rsi
mov qword [rsp + 0x170], rsi
mov qword [rsp + 0x178], rax
mov word [rsp + 0x180], 0
mov byte [rsp + 0x188], 1
lea rbx, [rsp + 0x270]
lea r15, [rsp + 0x170]
lea r13, [rsp + 0xd0]
lea rbp, [rsp + 0x138]
movabs rdi, 0x8000000000000000
mov rcx, rbx
mov rdx, r15
call fcn.14008e1a0
mov rax, qword [rsp + 0x270]
cmp rax, rdi
jne 0x14009189a
jmp 0x140092234
mov rcx, rbx
mov rdx, r15
call fcn.14008e1a0
mov rax, qword [rsp + 0x270]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x140092234
mov r8, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x280]
test rcx, rcx
jne 0x1400918c4
test rax, rax
je 0x140091874
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
jmp 0x140091874
mov rdx, qword [rsp + 0x288]
mov qword [rsp + 0xd8], r8
mov qword [rsp + 0xe0], rcx
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xd0], rax
mov rdx, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x1b8]
mov rcx, r13
call fcn.140084390
cmp byte [rsp + 0x5f], 0
jne 0x140091920
mov r8d, 3
mov rcx, r13
lea rdx, str.exe.NULcmd.exemaximum_number_of_ProcThreadAttributes_exceeded
call fcn.140085770
mov rdi, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xe0]
mov rcx, rbp
mov rdx, rdi
call fcn.14008b750
cmp qword [rsp + 0xd0], 0
je 0x140091957
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x138]
movabs rdi, 0x8000000000000000
cmp r14, rdi
je 0x140091857
mov rbx, qword [rsp + 0x140]
mov r15, qword [rsp + 0x148]
test r12, r12
je 0x140091998
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
movabs r12, 0x8000000000000000
jmp 0x140090f6e
mov r15, qword [rsp + 0x280]
jmp 0x140090f6e
mov rbx, qword [rsp + 0x158]
mov r15, qword [rsp + 0x160]
jmp 0x140090f6e
movzx ecx, word [rax - 8]
lea edx, [rcx - 0x42]
cmp edx, 0x21
ja case.0x1400919e7.68
lea r8, [0x1401ba090]
movsxd rdx, dword [r8 + rdx*4]
add rdx, r8
jmp rdx
movzx edx, word [rax - 6]
or edx, 0x20
cmp edx, 0x61
jne 0x140091a01
movzx edx, word [rax - 4]
or edx, 0x20
cmp edx, 0x74
je 0x140091a2b
cmp cx, 0x43
jne case.0x1400919e7.68
movzx ecx, word [rax - 6]
or ecx, 0x20
cmp ecx, 0x6d
jne case.0x1400919e7.68
movzx eax, word [rax - 4]
or eax, 0x20
cmp eax, 0x64
jne case.0x1400919e7.68
lea rcx, [rsp + 0x270]
call fcn.14008b8f0
mov rbp, qword [rsp + 0x270]
cmp rbp, r12
jne 0x140092417
movq xmm6, qword [rsp + 0x278]
mov r12, qword [rsp + 0x60]
jmp 0x1400911de
lea rcx, [rsp + 0x80]
xor edx, edx
call fcn.1400a5650
mov rax, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x90]
mov rsi, rax
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x90], rbp
xor eax, eax
mov r8, qword [rsp + 0x60]
test r8, r8
setne al
mov rcx, qword [rsp + 0xb8]
cmove rcx, r8
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], r8
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], r8
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0xd0]
call fcn.140081dd0
mov rax, qword [rsp + 0x270]
cmp rax, r12
jne 0x140091d59
lea rcx, [rsp + 0xd0]
call fcn.140083c50
mov rcx, qword [rsp + 0x80]
cmp rbp, rcx
jne 0x140091b65
lea rcx, [rsp + 0x80]
mov rdx, rbp
call fcn.1400a5650
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0xb0]
mov word [rsi + rbp*2], 0
mov rdx, rsi
cmp rcx, r12
mov rbp, qword [rsp + 0x68]
je 0x1400921e0
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0x60], rsi
lea rcx, [rax + 0x38]
mov rdx, rax
xor eax, eax
cmp qword [rdx + 0x38], r12
cmovne rax, rcx
jne 0x140091c88
mov ecx, 2
xor r12d, r12d
xor eax, eax
mov qword [rsp + 0x1f8], rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0x68], rbp
mov dword [rsp + 0x70], r13d
mov qword [rsp + 0xa8], r15
xorps xmm0, xmm0
movaps xmmword [rsp + 0x170], xmm0
mov qword [rsp + 0x180], 0
lea rcx, [0x1402590d8]
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x210], 0
mov qword [rsp + 0x220], 0
mov r13, qword [rsp + 0xb0]
lea rcx, [r13 + 0x58]
mov ebp, dword [r13 + 0x68]
cmp dword [r13 + 0x58], 6
lea r15, [rsp + 0x248]
cmove rcx, r15
lea rsi, [r13 + 0x78]
cmp dword [r13 + 0x78], 6
cmove rsi, r15
lea r8, [rsp + 0x200]
mov edx, 0xfffffff6
call fcn.14008bcc0
test rax, rax
je 0x1400921ea
movq xmm6, rdx
mov r15, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
jmp 0x140092856
mov rcx, qword [rdx + 0x40]
mov rdx, qword [rdx + 0x48]
add rdx, rcx
xor r10d, r10d
jmp 0x140091ca5
xor r10d, r10d
test r8w, r8w
je 0x140092134
mov r8w, 1
test r10w, r10w
jne 0x140091c98
cmp rcx, rdx
je 0x140092333
movzx r10d, byte [rcx]
test r10b, r10b
js 0x140091ccd
inc rcx
mov r9d, r10d
jmp 0x140091d4e
mov r9d, r10d
and r9d, 0x1f
movzx esi, byte [rcx + 1]
and esi, 0x3f
cmp r10b, 0xdf
jbe 0x140091d17
movzx r11d, byte [rcx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r10b, 0xf0
jb 0x140091d24
movzx r10d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
or r9d, r10d
jmp 0x140091d2f
add rcx, 2
shl r9d, 6
or r9d, esi
jmp 0x140091d4e
add rcx, 3
shl r9d, 0xc
or r9d, r11d
cmp r9d, 0xffff
jbe 0x140091d4e
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x140091c9b
xor r10d, r10d
mov r8d, r9d
jmp 0x140091c9b
mov qword [rsp + 0xa8], r15
mov r8, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x290]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0x298]
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x2a0]
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rsp + 0x2a8]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x2b0]
mov qword [rsp + 0x60], rcx
mov r12, qword [rsp + 0x2b8]
mov rcx, qword [rsp + 0x280]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x140091ddb
xor r11d, r11d
test r9w, r9w
je 0x140092145
mov r9w, 1
test r11w, r11w
jne 0x140091dce
cmp rdx, rcx
je 0x140091e95
movzx r11d, byte [rdx]
test r11b, r11b
js 0x140091e03
inc rdx
mov r10d, r11d
jmp 0x140091e8a
mov r10d, r11d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r11b, 0xdf
jbe 0x140091e50
mov r15d, r13d
movzx r13d, byte [rdx + 2]
shl esi, 6
and r13d, 0x3f
or r13d, esi
cmp r11b, 0xf0
jb 0x140091e5d
movzx r11d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r13d, 6
and r11d, 0x3f
or r11d, r13d
or r10d, r11d
jmp 0x140091e68
add rdx, 2
shl r10d, 6
or r10d, esi
jmp 0x140091e8a
add rdx, 3
shl r10d, 0xc
or r10d, r13d
cmp r10d, 0xffff
mov r13d, r15d
jbe 0x140091e8a
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x140091dd1
xor r11d, r11d
mov r9d, r10d
jmp 0x140091dd1
test rax, rax
je 0x140091eb0
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rbp, qword [rsp + 0x90]
mov rax, qword [rsp + 0x80]
sub rax, rbp
cmp rax, qword [rsp + 0xc0]
jb 0x14009210f
mov r15, qword [rsp + 0xc0]
lea r8, [r15 + r15]
lea rcx, [rbp*2]
add rcx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x70]
mov rdx, rsi
call sub.msvcrt.dll_memcpy
add rbp, r15
mov qword [rsp + 0x90], rbp
cmp qword [rsp + 0xc8], 0
je 0x140091f21
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
mov rbp, qword [rsp + 0x90]
cmp rbp, qword [rsp + 0x80]
mov r15, qword [rsp + 0xa8]
jne 0x140091f4b
lea rcx, [rsp + 0x80]
mov rdx, rbp
call fcn.1400a5650
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xb8]
mov rax, qword [rsp + 0x88]
mov word [rax + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0x90], rbp
add r12, rcx
xor r8d, r8d
mov rax, rcx
mov rbp, qword [rsp + 0x68]
jmp 0x140091f8d
xor r8d, r8d
test cx, cx
je 0x1400923c2
mov cx, 1
test r8w, r8w
jne 0x140091f81
cmp rax, r12
je 0x140092037
movzx r8d, byte [rax]
test r8b, r8b
js 0x140091fb1
inc rax
mov edx, r8d
jmp 0x14009202d
mov edx, r8d
and edx, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp r8b, 0xdf
jbe 0x140091ffb
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp r8b, 0xf0
jb 0x140092007
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 0x140092011
add rax, 2
shl edx, 6
or edx, r10d
jmp 0x14009202d
add rax, 3
shl edx, 0xc
or edx, r9d
cmp edx, 0xffff
jbe 0x14009202d
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x140091f84
xor r8d, r8d
mov ecx, edx
jmp 0x140091f84
movabs rax, 0x8000000000000000
cmp rsi, rax
je 0x1400921ad
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0x170], rbp
mov qword [rsp + 0x178], r12
mov word [rsp + 0x180], 0
lea rcx, [rsp + 0x80]
lea rdx, [rsp + 0x170]
call fcn.14008ea10
test rsi, rsi
je 0x140092094
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbp
call sub.KERNEL32.dll_HeapFree
mov rbp, qword [rsp + 0x90]
cmp rbp, qword [rsp + 0x80]
movabs r12, 0x8000000000000000
jne 0x1400920c8
lea rcx, [rsp + 0x80]
mov rdx, rbp
call fcn.1400a5650
mov rbp, qword [rsp + 0x90]
mov rax, qword [rsp + 0x88]
mov rsi, rax
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x90], rbp
lea rcx, [rsp + 0x270]
lea rdx, [rsp + 0xd0]
call fcn.140081dd0
mov rax, qword [rsp + 0x270]
cmp rax, r12
jne 0x140091d61
jmp 0x140091b23
lea rcx, [rsp + 0x80]
mov rdx, rbp
mov r8, qword [rsp + 0xc0]
call fcn.140086750
mov rbp, qword [rsp + 0x90]
jmp 0x140091ec9
lea r12, str.nul_byte_found_in_provided_dataPATHprogram_path_has_no_file_name
movq xmm6, r12
jmp 0x1400928cb
test rax, rax
je 0x140092158
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xb8], 0
mov r15, qword [rsp + 0xa8]
mov rbp, qword [rsp + 0x68]
je 0x140092183
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xc8], 0
mov r8, qword [rsp + 0x70]
je 0x1400921a1
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
lea rax, str.nul_byte_found_in_provided_dataPATHprogram_path_has_no_file_name
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0xd0]
call fcn.140083c50
cmp qword [rsp + 0x80], 0
je 0x1400921db
mov r8, qword [rsp + 0x88]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
mov rsi, qword [rsp + 0x60]
movq xmm6, rsi
jmp 0x1400928e9
mov qword [rsp + 0x1d8], rdx
lea r8, [rsp + 0x210]
lea rcx, [r13 + 0x68]
cmp ebp, 6
cmove rcx, r15
mov edx, 0xfffffff5
call fcn.14008bcc0
test rax, rax
je 0x1400923d5
movq xmm6, rdx
mov r15, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
jmp 0x140092849
test r12, r12
je 0x14009224a
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
lea rsi, [0x1401db6f8]
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x60]
movq xmm6, rsi
movzx eax, byte [rsp + 0xc0]
test al, al
jne 0x140090f46
test r12, r12
je 0x1400922c1
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x280], r12
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x288], rax
mov qword [rsp + 0x298], 0
mov qword [rsp + 0x2a0], r12
mov qword [rsp + 0x2a8], rax
mov eax, 1
mov rcx, qword [rsp + 0xb8]
jmp 0x1400922c5
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x270], rax
mov qword [rsp + 0x290], rax
mov qword [rsp + 0x2b0], rcx
lea rcx, [rsp + 0x270]
call fcn.140083c50
cmp dword [rsp + 0x248], 3
jbe 0x140090f54
mov edi, 2
mov rcx, qword [rsp + 0x250]
call sub.KERNEL32.dll_CloseHandle
cmp rdi, 2
je 0x140092806
mov qword [r14 + 8], r15
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x18], rbp
mov qword [r14 + 0x20], rsi
mov qword [r14 + 0x28], r12
movdqu xmmword [r14 + 0x30], xmm6
jmp 0x14009280c
mov rcx, qword [rax + 8]
mov rax, qword [rax + 0x10]
add rax, rcx
mov qword [rsp + 0x270], rcx
mov qword [rsp + 0x278], rax
mov word [rsp + 0x280], 0
lea rcx, [rsp + 0xd0]
lea rdx, [rsp + 0x270]
call fcn.14008eba0
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xe0]
mov rsi, r12
cmp rdx, rax
jne 0x1400923a2
lea rcx, [rsp + 0xd0]
call fcn.1400a5650
mov rax, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xe0]
mov r12, qword [rsp + 0xd8]
mov word [r12 + rdx*2], 0
mov rcx, r12
cmp rax, rsi
jne 0x140091bba
jmp 0x14009213b
mov r8, qword [rsp + 0x60]
test rsi, rsi
jne 0x140092193
jmp 0x1400921a1
mov qword [rsp + 0x168], rdx
lea r8, [rsp + 0x220]
mov rcx, rsi
mov edx, 0xfffffff4
call fcn.14008bcc0
test rax, rax
mov r15, qword [rsp + 0xa8]
mov r13d, dword [rsp + 0x70]
mov rbp, qword [rsp + 0x68]
je 0x1400924a7
movq xmm6, rdx
jmp 0x14009283c
mov rsi, qword [rsp + 0x278]
mov rcx, qword [rsp + 0xb0]
mov r9, qword [rcx + 0x28]
mov rax, qword [rcx + 0x30]
movzx ecx, byte [rcx + 0xc5]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x270]
mov rdx, rbx
mov r8, r15
call fcn.14008d470
mov rdx, qword [rsp + 0x270]
cmp rdx, r12
jne 0x14009248c
movq xmm6, qword [rsp + 0x278]
test rbp, rbp
mov r12, qword [rsp + 0x60]
je 0x1400911de
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rsi
call sub.KERNEL32.dll_HeapFree
jmp 0x1400911de
mov rax, qword [rsp + 0x278]
mov rcx, qword [rsp + 0x280]
xor r13d, r13d
mov r15, rsi
jmp 0x140091128
xorps xmm0, xmm0
movups xmmword [rsp + 0x104], xmm0
movups xmmword [rsp + 0xf8], xmm0
movups xmmword [rsp + 0xe8], xmm0
movups xmmword [rsp + 0xd8], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x128], xmm0
test rdx, rdx
mov rax, qword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x168]
jne 0x1400924f9
test rcx, rcx
jne 0x1400924f9
test rax, rax
je 0x14009251c
mov dword [rsp + 0x10c], 0x100
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rdx
mov rsi, rdx
mov rdx, qword [rsp + 0xb0]
mov rax, qword [rdx + 0xb8]
mov qword [rsp + 0x1f0], rax
test rax, rax
je 0x14009260f
add rdx, 0xa8
mov dword [rsp + 0xd0], 0x70
lea rcx, [rsp + 0x80]
call fcn.14008c1b0
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x14009282b
or edi, 0x80000
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x1e0], rax
movups xmm0, xmmword [rsp + 0xd0]
movups xmm1, xmmword [rsp + 0xe0]
movups xmm2, xmmword [rsp + 0xf0]
movups xmm3, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x270], xmm0
movaps xmmword [rsp + 0x280], xmm1
movaps xmmword [rsp + 0x290], xmm2
movaps xmmword [rsp + 0x2a0], xmm3
movups xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x2b0], xmm0
movups xmm0, xmmword [rsp + 0x120]
movaps xmmword [rsp + 0x2c0], xmm0
mov rax, qword [rsp + 0x130]
mov qword [rsp + 0x2d0], rax
mov qword [rsp + 0x1e8], rcx
mov qword [rsp + 0x2d8], rcx
lea rax, [rsp + 0x270]
jmp 0x140092622
mov dword [rsp + 0xd0], 0x68
lea rax, [rsp + 0xd0]
mov rdx, qword [rsp + 0x140]
lea rcx, [rsp + 0x170]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], 1
mov rcx, r15
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x1400927a2
mov qword [rsp + 0xb0], rsi
movaps xmm6, xmmword [rsp + 0x170]
mov rdi, qword [rsp + 0x200]
mov r15, qword [rsp + 0x208]
mov r13, qword [rsp + 0x210]
mov rbp, qword [rsp + 0x218]
mov rsi, qword [rsp + 0x220]
mov r12, qword [rsp + 0x228]
cmp qword [rsp + 0x1f0], 0
je 0x1400926d0
mov rcx, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1e0]
call fcn.14008c4d0
mov rcx, qword [rsp + 0xb0]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x168]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x1d8]
call sub.KERNEL32.dll_CloseHandle
lea rcx, [0x1402590d8]
call fcn.140114ee8
cmp qword [rsp + 0xc8], 0
je 0x140092724
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0x1f8]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xb8], 0
je 0x140092742
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x138], 0
je 0x140092763
mov r8, qword [rsp + 0x140]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x68], 0
je 0x140092781
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0xa8]
call sub.KERNEL32.dll_HeapFree
test r14, r14
sete al
or al, byte [rsp + 0x70]
je 0x1400927d8
cmp dword [rsp + 0x248], 4
mov r14, qword [rsp + 0x78]
jae 0x1400922fd
jmp 0x1400927fc
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
movq xmm6, rax
cmp qword [rsp + 0x1f0], 0
je 0x140092834
mov rcx, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x1e0]
call fcn.14008c4d0
jmp 0x140092834
ud2
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
cmp dword [rsp + 0x248], 4
mov r14, qword [rsp + 0x78]
jae 0x1400922fd
cmp rdi, 2
jne 0x140092314
movq qword [r14 + 8], xmm6
mov qword [r14], rdi
movaps xmm6, xmmword [rsp + 0x690]
add rsp, 0x6a8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movq xmm6, qword [rsp + 0x88]
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x168]
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x1d8]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x200], 0
je 0x14009286e
mov rcx, qword [rsp + 0x208]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x210], 0
je 0x140092886
mov rcx, qword [rsp + 0x218]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x220], 0
je 0x14009289e
mov rcx, qword [rsp + 0x228]
call sub.KERNEL32.dll_CloseHandle
lea rcx, [0x1402590d8]
call fcn.140114ee8
cmp qword [rsp + 0xc8], 0
je 0x1400928cb
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0x1f8]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0xb8], 0
je 0x1400928e9
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call sub.KERNEL32.dll_HeapFree
cmp qword [rsp + 0x138], 0
je 0x14009290a
mov r8, qword [rsp + 0x140]
mov rcx, qword [0x1402590e0]
xor edx, edx
call sub.KERNEL32.dll_HeapFree
test rbp, rbp
je 0x140092920
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapFree
test r14, r14
sete al
or al, r13b
jne 0x14009293c
mov rcx, qword [0x1402590e0]
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapFree
mov r14, qword [rsp + 0x78]
cmp dword [rsp + 0x248], 3
jbe 0x140090f54
jmp 0x1400922f8
call fcn.14008d000
ud2