Function at 0x1400139c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
mov dword [rsp + 8], ecx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx edi, byte [0x140042b82]
mov ecx, 0xa0
mov edx, dword [0x140042b48]
mov r8d, 0x117
mov eax, edi
or eax, r8d
or edx, eax
sub cx, 1
jne 0x1400139f0
cmp dword [0x140042b58], 0
movzx r10d, byte [0x140042b80]
mov dword [0x140042b48], edx
je 0x140013a20
test r10b, r10b
je 0x140013a20
mov eax, 1
jmp 0x140013a22
xor eax, eax
mov r15d, dword [0x140042b38]
mov edx, edi
mov r9d, dword [0x140042b44]
xor edx, 0x8e
mov r11d, dword [0x140042b5c]
xor r9d, eax
movzx eax, byte [0x140042a87]
movzx r13d, byte [0x140042b67]
and eax, 0x62
movzx esi, byte [0x140042b65]
sub r15d, eax
test r11d, r11d
mov dword [0x140042b38], r15d
mov dword [0x140042b4c], 1
setne al
or r13b, al
test sil, sil
je 0x140013a89
test r10b, r10b
je 0x140013a89
mov eax, 1
jmp 0x140013a8b
xor eax, eax
xor byte [0x140042b81], al
mov eax, 0x50
movsx ebx, byte [0x140042a63]
mov ebp, dword [0x140042b84]
mov ecx, ebx
shl eax, cl
xor ecx, ecx
test eax, eax
mov eax, dword [0x140042b2c]
sete cl
and eax, ebp
and ecx, edi
mov dword [rsp + 0x60], eax
xor edx, ecx
mov dword [0x140042b2c], eax
mov ecx, dword [0x140042b40]
xor eax, eax
test edx, edx
mov dword [0x140042b68], edx
setne al
or ecx, eax
mov eax, 0xcccccccd
mov dword [rsp + 0x68], ecx
imul ecx, edi, 7
add ecx, 0xf8
mul ecx
shr edx, 3
lea eax, [rdx + rdx*4]
add eax, eax
sub ecx, eax
movsx edx, cx
test edx, edx
je 0x140013b65
sub edx, 1
je 0x140013b51
sub edx, 1
je 0x140013b40
cmp edx, 1
je 0x140013b2b
imul ecx, ebp, 0x68
mov eax, 0xcccccccd
mul ecx
shr edx, 2
movzx r8d, dl
and r8d, 3
add r8d, dword [0x140042a88]
jmp 0x140013b72
inc byte [0x140042b57]
movzx eax, sil
shr al, 4
xor byte [0x140042b88], al
jmp 0x140013b72
movzx eax, byte [0x140042b57]
or al, 0xc4
mov byte [0x140042a63], al
jmp 0x140013b72
movsx eax, byte [0x140042b88]
add eax, 0xac
and dword [0x140042b60], eax
jmp 0x140013b72
sar ebx, 6
add r11d, ebx
mov dword [0x140042b5c], r11d
movzx eax, r10b
imul ecx, eax, 0x77
mov eax, 0xaaaaaaab
mul ecx
mov eax, 0x15d
mov ebp, edx
shr ebp, 1
nop dword [rax]
sub rax, 1
jne 0x140013b90
imul ebx, r11d, 0xcd
shr ebx, 2
test sil, sil
je 0x140013bd2
cmp r11d, 0x68
setne al
cmp r8d, eax
je 0x140013bd2
movzx r14d, byte [0x140042b54]
lea eax, [r13 + 0x29]
xor byte [0x140042b88], al
cmp dword [0x140042b3c], 1
sete al
add r14b, al
jmp 0x140013bda
movzx r14d, byte [0x140042b54]
movsx eax, byte [0x140042b88]
lea r8d, [r15 + 0xcd]
mov r15d, dword [0x140042b34]
cmp eax, 0xd2
mov eax, dword [0x140042a88]
mov r10d, 0x4a
mov esi, dword [0x140042a64]
sete byte [0x140042a86]
mov r12d, eax
mov dword [0x140042b3c], 0
add eax, 3
and r12d, 0xac
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x60]
xor eax, 4
or r8d, eax
mov eax, dword [0x140042b78]
add eax, 0xf8
or r8d, 0xbb
imul ecx, eax, 0x4a
inc r8d
add r15d, ecx
movzx ecx, byte [0x140042b83]
nop dword [rax]
nop dword [rax + rax]
xor edx, edx
dec r10d
test r12d, r12d
setne dl
xor eax, eax
test cl, cl
setne al
or edx, eax
test r11d, r11d
je 0x140013c86
test sil, 5
je 0x140013c86
mov eax, 1
jmp 0x140013c88
xor eax, eax
or edx, eax
test r10d, r10d
jne 0x140013c60
xor eax, eax
cmp edi, 0xa0
sete al
and r14b, 1
add r15d, eax
mov byte [0x140042b54], r14b
mov dword [0x140042b34], r15d
test esi, esi
jne 0x140013cbb
test bl, bl
jne 0x140013cbb
xor eax, eax
jmp 0x140013cc0
mov eax, 1
or r13b, al
movzx ecx, bpl
lea eax, [rbx + rsi]
mov byte [0x140042b67], r13b
mov edi, 0x62
shl dil, cl
mov ecx, dword [rsp + 0x68]
shl dil, cl
or dil, al
mov eax, dword [rsp + 0x70]
add eax, 0xd2
mov byte [0x140042b80], dil
or eax, 0x50
and eax, dword [0x140042b28]
add dword [0x140042b60], eax
test dl, 0x77
jne 0x140013d16
mov dword [0x140042b6c], 0
test bpl, bpl
je 0x140013d20
mov dword [0x140042b6c], 1
movsx eax, byte [0x140042b88]
mov r10d, 0x25f
mov r11d, dword [0x140042b7c]
xor eax, 0xac
mov r14d, dword [0x140042b84]
and r11d, 0xcd
imul eax, eax, 0x25f
add ecx, eax
mov dword [0x140042b40], ecx
nop word [rax + rax]
xor ecx, ecx
sub r8d, r11d
test bpl, bpl
mov eax, r14d
setne cl
sub eax, ecx
and r9d, eax
sub r10, 1
jne 0x140013d60
movzx ecx, bl
not ecx
mov dword [0x140042b44], r9d
movzx r9d, byte [0x140042b55]
and ecx, 0x29
mov dword [0x140042b30], r8d
cmp cl, dil
jne 0x140013da5
test r9b, r9b
jne 0x140013da5
xor eax, eax
jmp 0x140013daa
mov eax, 1
or edx, eax
lea ecx, [r8 + 0xbb]
mov eax, dword [0x140042b60]
and sil, 0xcd
mov dword [0x140042b58], edx
xor r9b, sil
mov edx, 0x4d
sar eax, 0x1f
shl dl, cl
and dl, al
mov byte [0x140042b55], r9b
mov byte [0x140042a62], dl
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov eax, dword [0x140042b48]
mov edx, 0x11a
mov ecx, dword [0x140042b7c]
lea r8d, [rax + rax]
nop word [rax + rax]
mov eax, 0xffffff9c
sub eax, r8d
add ecx, eax
sub rdx, 1
jne 0x140013e00
mov eax, dword [0x140042b4c]
xor byte [0x140042b82], 1
add eax, 0x32
mov dword [0x140042b40], eax
mov dword [0x140042b7c], ecx
call qword [sym.imp.KERNEL32.dll_GetACP]
movsx r9d, byte [0x140042b67]
mov r8d, 0x34
mov edx, dword [0x140042b84]
nop word [rax + rax]
xor ecx, ecx
test bl, bl
setne cl
and ecx, r9d
xor edx, ecx
sub r8, 1
jne 0x140013e50
or dword [0x140042b2c], 1
mov dword [0x140042b84], edx
call fcn.1400132b0
mov rbx, qword [rsp + 0x78]
mov eax, 1
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret