Function at 0x1401affb0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
test ecx, ecx
je 0x1401b001e
test edx, edx
je 0x1401b0079
movzx eax, byte [0x1405aba12]
cmp al, 0x9a
je 0x1401b054f
lea rsi, [rsp + 0x30]
lea rdi, [rsp + 0x2d]
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0xdc26137e
mov r9d, 0xa2ea97a7
call fcn.1401b1c40
cmp byte [rsp + 0x31], 0
jne 0x1401b0149
cmp byte [rsp + 0x2d], 0x9a
jne 0x1401afff0
jmp 0x1401b054f
xor eax, eax
test al, al
nop word cs:[rax + rax]
xor eax, eax
test al, al
jne 0x1401b0030
test edx, edx
je 0x1401b011f
mov edx, dword [0x1405ac040]
lea ecx, [rdx + 0x144616ba]
add edx, 0x54095873
call fcn.1401b1b30
test al, 1
jne 0x1401b0405
mov cl, 0xd
nop
mov al, 0x23
lock cmpxchg byte [0x1405ab999], cl
je 0x1401b0158
cmp al, 0x9a
jne 0x1401b0060
jmp 0x1401b0405
movzx eax, byte [0x1405ab9c5]
cmp al, 0xe0
je 0x1401b0530
mov cl, 0x23
xor edx, edx
lea rax, [fcn.1401affb0]
lea r8d, [rax + rax]
add r8d, 0x3980
mov r9d, r8d
not r9d
add eax, eax
add eax, 0x3981
mov r10d, r9d
neg r10d
xor r8d, 0xfffffffe
or r8d, r10d
not r8d
or r8d, eax
mov r10d, r8d
not r10d
and r8d, eax
and eax, r10d
and r10d, r9d
or r8d, r10d
or r8d, eax
jmp 0x1401b00e8
cmp al, 0xe0
je 0x1401b0530
mov al, 0xfd
lock cmpxchg byte [0x1405ab9c5], cl
je 0x1401b019f
test dl, dl
jne 0x1401b0110
nop dword [rax]
cmp r8d, 0xffffffff
je 0x1401b00e0
nop word cs:[rax + rax]
mov r9d, dword [0x1406128fc]
cmp r9d, 0x46
jge 0x1401b0110
jmp 0x1401b0100
movzx eax, byte [0x1405ab7dc]
cmp al, 0xb5
je 0x1401b03b6
mov cl, 0xe1
mov al, 0x75
lock cmpxchg byte [0x1405ab7dc], cl
je 0x1401b01d6
cmp al, 0xb5
jne 0x1401b0130
jmp 0x1401b03b6
xor eax, eax
test al, al
jne 0x1401b0570
jmp 0x1401b055b
xor eax, eax
lea rcx, [0x1405ab990]
lea rdx, [0x1404cf000]
nop dword [rax + rax]
movzx r8d, byte [rax + rcx]
movzx r9d, byte [rax + rdx]
not r8b
mov r10d, r8d
and r10b, r9b
or r8b, r9b
not r8b
or r8b, r10b
mov byte [rax + rcx], r8b
lea r8d, [rax + 1]
cmp r8d, 8
jg 0x1401b01c7
inc rax
jmp 0x1401b0170
mov ecx, dword [0x1406128f8]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xeb429f4
add ecx, dword [0x1405ac040]
xor edx, edx
div ecx
test edx, edx
jne 0x1401b0420
jmp 0x1401b040e
mov al, 1
test al, al
je 0x1401b03f0
jmp 0x1401b03ce
xor r15d, r15d
lea r13, [0x1405ab7b0]
lea r12, [0x1404cee30]
lea rsi, [rsp + 0x2e]
lea rdi, [rsp + 0x2f]
jmp 0x1401b0214
add r15d, r14d
add r15d, 0xeb429f3
cmp r15d, 0x2c
jge 0x1401b0380
mov ecx, dword [0x1405ac040]
mov eax, 0xe467752a
add ecx, eax
mov edx, ecx
call fcn.14008ab10
mov ecx, dword [0x1406128f8]
lea eax, [rcx + 0x4cc4e4de]
mov edx, eax
xor edx, 0xee9f206a
and eax, 0x6e9f206a
lea edx, [rdx + rax*2]
sub edx, dword [0x1405ac040]
add edx, 0xb5e7d0c5
mov r8d, 0x1ed7cbe
mov r9d, 0x5a8d2196
call fcn.140188320
movsxd rbx, r15d
test al, 1
je 0x1401b02d0
nop dword [rax + rax]
movzx eax, byte [rbx + r13]
movzx ecx, byte [rbx + r12]
mov edx, eax
not dl
mov r8d, edx
and r8b, cl
mov r9d, eax
xor al, cl
not cl
and r9b, cl
or r9b, r8b
and cl, dl
or cl, al
not cl
add cl, cl
add cl, r9b
mov byte [rbx + r13], cl
mov r14d, dword [0x1405ac040]
mov ecx, dword [0x1406128f8]
lea edx, [rcx - 1]
mov r8d, 0x29c1848
mov r9d, 0x2e3f19fc
call fcn.1401b1c10
test al, 1
jne 0x1401b0200
nop dword [rax]
movzx eax, byte [rbx + r13]
xor edx, edx
sub dl, al
mov eax, edx
xor al, 0xe1
and dl, 0x61
add dl, dl
add dl, al
mov cl, 0xe1
sub cl, dl
add dl, byte [rbx + r12]
mov eax, ecx
not al
add al, dl
add al, 0x20
mul cl
mov ebp, eax
shl al, cl
mov edx, ebp
mov ecx, eax
shl dl, cl
sub dl, bpl
mov dword [rsp + 0x20], 0xb471da73
mov ecx, ebp
mov r8, rsi
mov r9d, 0xc54146a0
call fcn.1401b0d50
movzx r14d, byte [rsp + 0x2e]
mov ecx, ebp
mov rdx, rdi
mov r8d, 0x5a8d2196
mov r9d, 0xd6dcd0ae
call fcn.140187d30
add r14b, byte [rsp + 0x2f]
add r14b, bpl
mov rcx, rbx
mov edx, r14d
mov r8d, 0xcf25764c
mov r9d, 0x52f875bd
call fcn.1401b1df0
mov eax, dword [0x1406128f8]
mov ecx, 0xd7fd9780
sub ecx, eax
not ecx
add ecx, 0xd7fd9780
imul ecx, eax
test cl, 1
jne 0x1401b02d0
jmp 0x1401b0270
mov eax, dword [0x1406128f8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1401b039c
mov eax, dword [0x1406128fc]
cmp eax, 0x29
jge 0x1401b0380
mov eax, dword [0x1406128fc]
cmp eax, 0x17
jg 0x1401b0391
mov ecx, 0xaace0d67
mov edx, 0x57bb328d
call fcn.1401b1c60
lea rax, [0x1405ab7b0]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x1406128fc]
mov ecx, 0xeb42a2e
add ecx, dword [0x1405ac040]
cmp eax, ecx
jl 0x1401b03fd
nop word cs:[rax + rax]
mov eax, dword [0x1406128fc]
cmp eax, 0x57
jge 0x1401b03f0
jmp 0x1401b03ce
mov al, 0x9a
xchg byte [0x1405ab999], al
lea rax, [0x1405ab990]
jmp 0x1401b03bd
mov eax, dword [0x1406128fc]
cmp eax, 0x2c
jl 0x1401b044b
nop dword [rax]
mov eax, dword [0x1405ac040]
mov ecx, eax
not ecx
mov edx, eax
xor edx, 0xf14bd60d
and ecx, 0xeb429f2
or edx, ecx
not edx
or edx, ecx
and eax, 0xeb429f2
add eax, eax
add eax, edx
jne 0x1401b0420
jmp 0x1401b040e
xor esi, esi
lea rdi, [rsp + 0x2b]
lea rbx, [rsp + 0x2c]
lea r14, [rsp + 0x40]
lea r15, [0x1405ab9b0]
nop word cs:[rax + rax]
mov eax, dword [0x1405ac040]
lea r9d, [rax - 0x7d08efa]
add eax, 0x4f50cd07
mov dword [rsp + 0x20], eax
mov ecx, esi
mov rdx, rdi
mov r8, rbx
call fcn.1401b0d30
movzx ebp, byte [rsp + 0x2c]
add bpl, byte [rsp + 0x2b]
mov r9d, dword [0x1405ac040]
mov eax, r9d
xor eax, 0x255520d0
mov ecx, r9d
and ecx, 0x255520d0
lea r8d, [rax + rcx*2]
add r9d, 0x2924c6e
mov ecx, esi
mov rdx, r14
call fcn.140193200
mov rax, qword [rsp + 0x40]
mov byte [rax + r15], bpl
mov eax, esi
xor eax, 1
and esi, 1
lea esi, [rax + rsi*2]
cmp esi, 0x15
jl 0x1401b0470
mov al, 1
test al, al
je 0x1401b0519
movzx eax, byte [0x1405ac044]
add al, 0xa4
xchg byte [0x1405ab9c5], al
mov eax, dword [0x1406128fc]
mov ecx, dword [0x1405ac040]
mov edx, ecx
xor edx, 0xeb42a42
and ecx, 0xeb42a42
lea ecx, [rdx + rcx*2]
cmp eax, ecx
jl 0x1401b0530
mov al, pe_nt_image_headers64
xchg byte [0x1405ab9c5], al
jmp 0x1401b04e9
mov ecx, 0xcd5e452a
mov edx, 0x8a3aeb35
call fcn.14014f720
test al, 1
je 0x1401b0530
lea rax, [0x1405ab9b0]
jmp 0x1401b03bd
lea rax, [0x1405aba00]
jmp 0x1401b03bd
mov eax, dword [0x1406128fc]
cmp eax, 0x3c
jl 0x1401b057d
nop word cs:[rax + rax]
mov eax, dword [0x1406128fc]
cmp eax, 0x1c
jge 0x1401b0570
jmp 0x1401b055b
xor eax, eax
lea rcx, [0x1405aba00]
lea rdx, [0x1404cf070]
mov r8d, 0xeb42a04
nop word cs:[rax + rax]
movzx r9d, byte [rax + rdx]
add byte [rax + rcx], r9b
lea r9d, [rax + 1]
mov r10d, dword [0x1405ac040]
add r10d, r8d
cmp r9d, r10d
jge 0x1401b05c1
inc rax
jmp 0x1401b05a0
mov edx, dword [0x1405ac040]
lea ecx, [rdx - 0x251cded3]
add edx, 0xce9d4bf8
call fcn.1401b1ae0
jmp 0x1401b054f