Function at 0x1400132b0
Capabilities:
Accept command line arguments
Encode data using xor

Disassembly:
mov dword [rsp + 0x10], edx
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movzx esi, byte [0x140042b66]
mov r12d, 0x10a
mov r11d, dword [0x140042b7c]
add sil, 3
mov ecx, dword [0x140042b4c]
movzx edx, byte [0x140042a63]
movzx r8d, byte [0x140042b65]
lea r14d, [r12 - 0x5e]
mov r9d, dword [0x140042b38]
lea r10d, [rsi - 0x61]
or r10b, byte [0x140042b40]
lea eax, [r14 - 0x3c]
xor r11d, 0x258
mov dword [rsp + 0xb8], r12d
mov byte [rsp + 0xb0], 0x35
mov dword [rsp + 0x3c], esi
nop dword [rax + rax]
and ecx, 1
and dl, 1
xor r8b, r10b
or r9d, r11d
sub ax, 1
jne 0x140013330
mov dword [0x140042b4c], ecx
mov byte [0x140042a63], dl
mov byte [0x140042b65], r8b
mov dword [0x140042b38], r9d
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
movzx r10d, byte [0x140042b81]
mov r9d, dword [0x140042b68]
mov r8d, r9d
shl r8d, 6
lea eax, [r10 - 0x66]
xor al, byte [0x140042b78]
xor byte [0x140042b66], al
and r8d, 0x80000003
jge 0x14001339b
dec r8d
or r8d, 0xfffffffc
inc r8d
movzx r11d, byte [0x140042b54]
movzx eax, r10b
imul r15d, eax, 0x2a5
mov eax, 0xcccccccd
mul r15d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r15d, eax
movzx eax, byte [0x140042a86]
imul ecx, eax, 7
mov eax, 0x38e38e39
add ecx, 0x1e0
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
je 0x14001347f
sub ecx, 1
je 0x14001344e
sub ecx, 1
je 0x14001341d
cmp ecx, 1
jne 0x1400134a2
movsx eax, byte [0x140042a63]
cmp eax, r14d
sete al
and r9b, r14b
xor al, r9b
xor al, 0x74
or byte [0x140042b80], al
jmp 0x1400134a2
imul ecx, dword [0x140042b44], 0x5a
mov eax, 0xcccccccd
mul ecx
mov ecx, dword [0x140042a88]
movsx eax, byte [0x140042b67]
mov r14d, edx
shl r8d, cl
shr r14d, 2
or r8d, eax
add dword [0x140042b40], r8d
jmp 0x1400134a2
cmp dword [0x140042b40], 0
jne 0x140013463
mov byte [0x140042a87], 0
test r11b, r11b
je 0x14001346a
mov byte [0x140042a87], 1
mov r12d, dword [0x140042b3c]
add r12d, 0x60
mov dword [rsp + 0xb8], r12d
jmp 0x1400134a2
mov eax, dword [0x140042b34]
mov ecx, r15d
xor ecx, 0xcd
shl eax, cl
add dword [0x140042b44], eax
mov eax, dword [0x140042a88]
xor dword [0x140042a64], eax
movzx ebp, byte [0x140042b40]
xor edi, edi
mov eax, dword [0x140042b2c]
add bpl, 0x19
cmp r11b, 0xfa
mov byte [rsp + 0xa8], bpl
mov edx, edi
mov ecx, 0x1f
sete dl
add edx, edx
nop dword [rax]
sub eax, edx
sub rcx, 1
jne 0x1400134d0
mov dword [0x140042b2c], eax
mov eax, edi
cmp byte [0x140042b82], al
sete al
sub r10b, 0x35
or r10b, 0x35
mov dword [0x140042b84], eax
or byte [0x140042a62], r10b
mov eax, edi
cmp dword [0x140042a64], eax
setne al
mov dword [0x140042a8c], eax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
or dword [0x140042b84], 1
mov r10d, edi
movzx edx, byte [0x140042b81]
mov r8d, dword [0x140042b30]
mov ebx, r8d
movzx eax, byte [0x140042a87]
and ebx, 3
mov ecx, dword [0x140042b48]
or eax, 0x23f
movzx r11d, byte [0x140042b65]
or ecx, eax
movzx eax, byte [0x140042b7c]
movsx r12d, byte [0x140042a63]
sub al, 0x20
mov r13d, dword [0x140042b44]
or dl, al
movzx eax, byte [0x140042b58]
sub al, 0x35
movzx r9d, sil
cmp dword [0x140042b78], 0x5a
mov byte [0x140042b82], al
mov dword [rsp + 0x38], ecx
setb r10b
movsx eax, bpl
lea ecx, [r9 + 0xc]
mov ebp, dword [0x140042b58]
xor ecx, 0x374
mov dword [rsp + 0x28], eax
mov eax, dword [0x140042b5c]
mov esi, dword [rsp + 0x28]
add eax, ecx
mov dword [rsp + 0x30], eax
mov ecx, edi
lea eax, [r8 + 0x35]
mov dword [rsp + 0x24], r9d
mov byte [rsp + 0xa0], al
mov eax, dword [0x140042b34]
sub eax, r9d
mov byte [0x140042b81], dl
movzx r9d, byte [0x140042a62]
cmp eax, 0x5a
movsx eax, byte [0x140042b55]
sete cl
mov qword [rsp + 0x40], 0xe3
xor ecx, eax
movzx eax, dl
mov dword [rsp + 0x34], eax
mov edi, ecx
mov eax, dword [0x140042b68]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x2c], ecx
nop dword [rax + rax]
cmp r15d, r10d
jne 0x140013621
movzx eax, r8b
xor al, 1
mov byte [0x140042b83], al
and ebp, dword [rsp + 0x30]
movzx ecx, sil
xor r11b, byte [rsp + 0xa0]
mov edx, r12d
or dword [rsp + 0x20], edi
mov eax, 0x1e0
sar edx, cl
mov ecx, r14d
sar eax, cl
mov ecx, dword [0x140042b4c]
sar eax, cl
xor edx, eax
imul ecx, r13d, 0x121
and r13d, dword [0x140042b3c]
mov eax, 0xaaaaaaab
mov dword [0x140042b2c], edx
sar r9b, 7
or r9b, byte [0x140042b4c]
mul ecx
mov ecx, dword [rsp + 0x34]
imul r14d, ecx
imul ebx, ecx
shr edx, 1
and r14d, 3
shr ebx, 2
sub qword [rsp + 0x40], 1
jne 0x140013610
mov byte [0x140042a62], r9b
xor edi, edi
mov r9d, dword [rsp + 0x38]
mov eax, edi
cmp dword [0x140042b7c], eax
mov dword [0x140042b44], r13d
sete al
mov dword [0x140042b58], ebp
xor r9d, eax
mov eax, dword [rsp + 0x24]
and eax, ecx
mov dword [0x140042b48], r9d
and eax, 0x1e0
mov dword [0x140042b68], eax
movsx eax, byte [0x140042a63]
and eax, 1
sub r8d, eax
movzx eax, byte [0x140042a86]
or al, dl
mov dword [0x140042b30], r8d
or r11b, al
mov byte [0x140042b65], r11b
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov r12d, dword [rsp + 0xb8]
mov ecx, r15d
movzx r15d, byte [0x140042b54]
movzx eax, r12b
movzx ebp, byte [rsp + 0xa8]
mov r13b, 0x61
shl al, cl
mov ecx, dword [0x140042a88]
xor al, cl
xor al, 0x35
add r15b, al
mov eax, ecx
sub eax, ebx
mov byte [0x140042b54], r15b
and eax, r14d
or eax, esi
mov esi, dword [rsp + 0x3c]
je 0x140013752
test ecx, ecx
lea ecx, [rdi + 1]
jne 0x140013754
mov ecx, edi
mov eax, dword [0x140042b44]
mov edx, 0x316
movzx r12d, byte [0x140042b66]
sub eax, ecx
mov r11d, dword [0x140042b2c]
add r12b, al
movzx eax, byte [0x140042b38]
movzx r8d, byte [0x140042a87]
add al, 0x3a
and byte [0x140042b82], al
movsx eax, byte [0x140042b64]
lea r10d, [r11 - 0x2b1]
mov ecx, dword [0x140042b4c]
or r10d, eax
mov eax, dword [rsp + 0x24]
or r10d, 0x1e0
add r8d, eax
mov byte [0x140042b66], r12b
and r8d, 0x35
mov dword [0x140042b44], r10d
cmp dword [0x140042b28], eax
sete byte [0x140042b81]
nop
or ecx, r8d
sub rdx, 1
jne 0x1400137d0
movzx r8d, byte [0x140042b65]
mov eax, 0xcccccccd
mov r9d, dword [0x140042b48]
mov dword [0x140042b4c], ecx
lea ecx, [r14 + r8*4]
movzx r14d, byte [0x140042a86]
add r8d, ecx
mul r8d
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub r8d, eax
je 0x140013884
sub r8d, 1
je 0x140013860
sub r8d, 1
je 0x140013839
mov r10d, dword [rsp + 0xb0]
cmp r8d, 1
jne 0x1400138c3
lea r13d, [r11 + 2]
jmp 0x1400138c3
imul esi, dword [0x140042b34], 0x121
mov eax, 0xaaaaaaab
movzx ecx, r14b
xor ecx, 0x35
add dword [0x140042b68], ecx
mul esi
shr edx, 1
lea eax, [rdx + rdx*2]
sub esi, eax
jmp 0x1400138bb
lea r10d, [r10 + r10*2]
mov eax, 0xaaaaaaab
shl r10d, 2
mul r10d
shr edx, 1
lea eax, [rdx + rdx*2]
sub r10d, eax
lea eax, [rsi + r9]
mov byte [0x140042a62], al
jmp 0x1400138c3
movzx eax, r11b
movsx ecx, bpl
or al, 1
and r15b, al
mov eax, 0xc
sar eax, cl
mov byte [0x140042b54], r15b
test eax, eax
jne 0x1400138aa
mov eax, edi
test bpl, bpl
je 0x1400138af
mov eax, 1
xor al, byte [0x140042b65]
or byte [0x140042b81], al
mov r10d, dword [rsp + 0xb0]
mov r8d, dword [0x140042a8c]
mov eax, 0x74
mov edx, dword [0x140042b30]
mov ecx, r8d
shl al, cl
mov byte [0x140042b83], al
mov eax, edx
movzx ecx, sil
shl eax, cl
test eax, eax
jne 0x1400138f2
mov eax, edi
test ebx, ebx
je 0x1400138f7
mov eax, 1
add r9d, eax
test r8d, r8d
mov dword [0x140042b48], r9d
mov r8d, dword [rsp + 0xb8]
je 0x14001396d
movzx ebp, byte [0x140042a64]
xor r11d, 1
movsx eax, r10b
sub bpl, 0x79
cmp dword [0x140042b68], eax
movzx ecx, r13b
mov dword [0x140042b2c], r11d
sete al
or al, r8b
sub r12b, al
mov eax, r9d
shr eax, cl
mov byte [0x140042b66], r12b
test r8d, eax
je 0x14001395f
movzx ecx, r9b
mov byte [0x140042b67], 1
sar r13b, cl
test r13b, r13b
jne 0x140013966
mov byte [0x140042b67], dil
mov dword [0x140042b84], r9d
movzx eax, r14b
or dword [0x140042b3c], eax
cmp dword [0x140042b68], edi
jne 0x140013987
and ebx, 0x5a
or ebx, r8d
je 0x14001398c
mov edi, 1
add edx, edi
mov dword [0x140042b30], edx
call fcn.140012b50
movsx eax, bpl
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret