Function at 0x140001990
Capabilities:
Encode data using xor
Execute command

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x108]
sub rsp, 0x1e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x140020040]
xor rax, rsp
mov qword [rbp + 0xb0], rax
movups xmm3, xmmword [0x140009670]
movups xmmword [rsp + 0x60], xmm3
movzx eax, byte [0x140009680]
mov byte [rsp + 0x70], al
xor r13d, r13d
mov r8d, r13d
movdqa xmm7, xmmword [0x14001c510]
mov r15d, dword [0x140020098]
cmp r15d, 2
jl 0x140001ba1
movdqa xmm4, xmmword [0x14001c540]
movdqa xmm5, xmmword [str.6666]
movdqa xmm6, xmmword [0x14001c530]
movdqa xmm2, xmmword [0x14001c4a0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd eax, xmm3
movd xmm0, eax
xorps xmm2, xmm0
movd dword [rsp + 0x60], xmm2
movdqa xmm2, xmmword [0x14001c4b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd xmm0, dword [rsp + 0x64]
xorps xmm2, xmm0
movd dword [rsp + 0x64], xmm2
movdqa xmm3, xmmword [0x14001c4c0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
paddb xmm3, xmm6
movd xmm0, dword [rsp + 0x68]
xorps xmm3, xmm0
movd dword [rsp + 0x68], xmm3
movdqa xmm2, xmmword [0x14001c4d0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm6
movd xmm0, dword [rsp + 0x6c]
xorps xmm2, xmm0
movd dword [rsp + 0x6c], xmm2
mov r8d, 0x10
mov eax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop dword [rax]
mov eax, 0x4bda12f7
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x11
jl 0x140001bb0
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp - 0x60]
call sub.VCRUNTIME140.dll_memset
mov rax, qword [0x140009668]
mov qword [rsp + 0x30], rax
cmp byte [0x14000966f], r13b
je 0x140001d42
mov r8d, r13d
cmp r15d, 2
jl 0x140001d00
movdqa xmm4, xmmword [0x14001c540]
movdqa xmm3, xmmword [0x14001c4a0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.6666]
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov eax, dword [0x14001c530]
movd xmm0, eax
paddb xmm3, xmm0
movd xmm1, dword [rsp + 0x30]
xorps xmm3, xmm1
movd dword [rsp + 0x30], xmm3
movdqa xmm2, xmmword [0x14001c4b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [str.6666]
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x34]
xorps xmm2, xmm1
movd dword [rsp + 0x34], xmm2
jmp 0x140001d42
lea r9, [rsp + 0x30]
nop word [rax + rax]
mov eax, 0x2f684bdb
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
movzx eax, r8b
sub al, cl
add al, 0x35
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 8
jl 0x140001d10
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.140005bc0
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], r13
mov qword [rbp - 0x70], 0xf
mov byte [rsp + 0x78], 0
xor dil, dil
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x60]
call fcn.140006b20
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdx
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x1400021d6
movsd xmm0, qword [0x140009700]
movzx eax, byte [0x140009708]
movsd qword [rsp + 0x60], xmm0
mov dl, 0x30
mov byte [rsp + 0x60], dl
xor byte [rsp + 0x61], 0x36
xor byte [rsp + 0x62], 0x37
xor byte [rsp + 0x63], 0x38
xor byte [rsp + 0x64], 0x39
xor byte [rsp + 0x65], 0x3a
xor byte [rsp + 0x66], 0x3b
xor byte [rsp + 0x67], 0x3c
xor al, 0x3d
mov byte [rsp + 0x68], al
lea rax, [rsp + 0x60]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140001e01
lea r14, [rsp + 0x78]
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
cmp rcx, 0xf
cmova r14, rbx
mov rsi, qword [rbp - 0x78]
cmp rdi, rsi
ja 0x140001e9e
mov rax, rsi
sub rax, rdi
test rdi, rdi
je 0x14000237b
lea r15, [rax + r14]
movsx r12d, dl
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140001e95
nop word [rax + rax]
mov r8, rdi
lea rdx, [rsp + 0x60]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140002136
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140001e60
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
movsd xmm0, qword [0x140009830]
movsd qword [rsp + 0x30], xmm0
movzx eax, byte [0x140009838]
mov dl, 0x30
mov byte [rsp + 0x30], dl
xor byte [rsp + 0x31], 0x36
xor byte [rsp + 0x32], 0x37
xor byte [rsp + 0x33], 0x38
xor byte [rsp + 0x34], 0x39
xor byte [rsp + 0x35], 0x3a
xor byte [rsp + 0x36], 0x3b
xor byte [rsp + 0x37], 0x3c
xor al, 0x3d
mov byte [rsp + 0x38], al
lea rax, [rsp + 0x30]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x140001ef0
lea r14, [rsp + 0x78]
cmp rcx, 0xf
cmova r14, rbx
cmp rdi, rsi
ja 0x140001f7e
mov rax, rsi
sub rax, rdi
test rdi, rdi
je 0x14000237b
lea r15, [rax + r14]
movsx r12d, dl
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140001f75
nop dword [rax]
mov r8, rdi
lea rdx, [rsp + 0x30]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000214d
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140001f40
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
movsd xmm0, qword [0x14001c3e0]
movsd qword [rsp + 0x40], xmm0
movzx eax, byte [0x14001c3e8]
mov dl, 0x30
mov byte [rsp + 0x40], dl
xor byte [rsp + 0x41], 0x36
xor byte [rsp + 0x42], 0x37
xor byte [rsp + 0x43], 0x38
xor byte [rsp + 0x44], 0x39
xor byte [rsp + 0x45], 0x3a
xor byte [rsp + 0x46], 0x3b
xor byte [rsp + 0x47], 0x3c
xor al, 0x3d
mov byte [rsp + 0x48], al
lea rax, [rsp + 0x40]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x140001fd0
lea r14, [rsp + 0x78]
cmp rcx, 0xf
cmova r14, rbx
cmp rdi, rsi
ja 0x14000205e
mov rax, rsi
sub rax, rdi
test rdi, rdi
je 0x14000237b
lea r15, [rax + r14]
movsx r12d, dl
lea r8, [r15 + 1]
sub r8, r14
mov edx, r12d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140002055
nop dword [rax]
mov r8, rdi
lea rdx, [rsp + 0x40]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140002164
inc rbx
lea r8, [r15 + 1]
sub r8, rbx
mov edx, r12d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140002020
mov rbx, qword [rsp + 0x78]
mov rcx, qword [rbp - 0x70]
movsd xmm0, qword [0x140009750]
movsd qword [rsp + 0x50], xmm0
movzx eax, byte [0x140009758]
mov dl, 0x30
mov byte [rsp + 0x50], dl
xor byte [rsp + 0x51], 0x36
xor byte [rsp + 0x52], 0x37
xor byte [rsp + 0x53], 0x38
xor byte [rsp + 0x54], 0x39
xor byte [rsp + 0x55], 0x3a
xor byte [rsp + 0x56], 0x3b
xor byte [rsp + 0x57], 0x3c
xor al, 0x3d
mov byte [rsp + 0x58], al
lea rax, [rsp + 0x50]
mov rdi, 0xffffffffffffffff
nop
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400020b0
lea r14, [rsp + 0x78]
cmp rcx, 0xf
cmova r14, rbx
cmp rdi, rsi
ja 0x140002188
sub rsi, rdi
test rdi, rdi
je 0x14000237b
movsx r15d, dl
lea r8, [r14 + 1]
add r8, rsi
sub r8, r14
mov edx, r15d
mov rcx, r14
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
je 0x140002188
mov r8, rdi
lea rdx, [rsp + 0x50]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x14000217b
inc rbx
lea r8, [r14 + 1]
add r8, rsi
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
mov rbx, rax
test rax, rax
jne 0x140002100
jmp 0x140002188
sub rbx, r14
cmp rbx, 0xffffffffffffffff
mov rbx, qword [rsp + 0x78]
jne 0x14000237b
jmp 0x140001e9a
sub rbx, r14
cmp rbx, 0xffffffffffffffff
mov rbx, qword [rsp + 0x78]
jne 0x14000237b
jmp 0x140001f7a
sub rbx, r14
cmp rbx, 0xffffffffffffffff
mov rbx, qword [rsp + 0x78]
jne 0x14000237b
jmp 0x14000205a
sub rbx, r14
cmp rbx, 0xffffffffffffffff
jne 0x140002376
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x60]
call fcn.140006b20
mov rdx, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdx
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x140001db1
mov r15d, dword [0x140020098]
xor dil, dil
mov rbx, qword [rsp + 0x78]
lea rcx, [rbp - 0x50]
call fcn.140006100
test rax, rax
jne 0x140002206
mov rax, qword [rbp - 0x60]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x60]
add rcx, rax
xor r8d, r8d
mov edx, 2
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
movsd xmm0, qword [0x14001c338]
movsd qword [rsp + 0x60], xmm0
mov ecx, dword [str.IFK_]
mov dword [rsp + 0x68], ecx
cmp byte [0x14001c343], 0
je 0x1400023c2
cmp r15d, 2
jl 0x14000238a
movdqa xmm4, xmmword [0x14001c540]
movdqa xmm5, xmmword [str.6666]
movdqa xmm3, xmmword [0x14001c4a0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
mov eax, dword [0x14001c530]
movd xmm0, eax
paddb xmm3, xmm0
movd xmm0, dword [0x14001c338]
xorps xmm3, xmm0
movd dword [rsp + 0x60], xmm3
movdqa xmm2, xmmword [0x14001c4b0]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm7
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rsp + 0x64]
xorps xmm2, xmm1
movd dword [rsp + 0x64], xmm2
movdqa xmm3, xmmword [0x14001c4c0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm3, xmm0
andps xmm3, xmm7
packuswb xmm3, xmm3
packuswb xmm3, xmm3
movd xmm0, eax
paddb xmm3, xmm0
movd xmm1, ecx
xorps xmm3, xmm1
movd dword [rsp + 0x68], xmm3
jmp 0x1400023c2
mov rbx, qword [rsp + 0x78]
mov dil, 1
mov r15d, dword [0x140020098]
jmp 0x1400021db
lea r8, [rsp + 0x60]
nop
mov eax, 0x2f684bdb
mul r13d
mov eax, r13d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movsx eax, al
imul ecx, eax, 0x36
movzx eax, r13b
sub al, cl
add al, 0x35
xor byte [r8], al
inc r13d
lea r8, [r8 + 1]
cmp r13d, 0xc
jl 0x140002390
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
nop
mov rax, qword [rbp - 0x70]
cmp rax, 0xf
jbe 0x14000240d
lea rdx, [rax + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140002404
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140002404
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.140006f84
nop
lea rcx, [rbp - 0x60]
call fcn.140002460
movzx eax, dil
mov rcx, qword [rbp + 0xb0]
xor rcx, rsp
call fcn.140006f20
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret