Function at 0x1401b3e10
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov qword [rbp], 0xfffffffffffffffe
mov ebx, r8d
mov edi, edx
mov esi, ecx
mov dword [rbp - 0xc], edx
test r9b, r9b
je 0x1401b3e4a
mov rax, qword [0x1405645c0]
mov qword [0x1405645c8], rax
test edi, edi
je 0x1401b45ea
nop word cs:[rax + rax]
mov eax, dword [0x140564610]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x1401b3e83
mov rax, qword [0x1405640b0]
mov ecx, dword [0x140564614]
cmp ecx, 0x4f
jle 0x1401b3e91
cmp dword [0x140511ee0], 0xc8937d4a
jne 0x1401b3e60
jmp 0x1401b3e71
test rax, rax
jne 0x1401b3f21
mov eax, 0x9996
add eax, dword [0x140511b6c]
cdqe
add rax, qword [0x140511b80]
movabs rcx, 0x66bb21af534b7a54
add rcx, qword [0x140511ed0]
mov r8d, dword [0x140511ee0]
lea edx, [r8 + 0x3c0d8add]
add r8d, 0xeca02407
call qword [0x1404ee420]
lea rcx, [0x140426ab8]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
movzx ecx, byte [0x140511edc]
add cl, 0x2a
mov byte [rax + 0x18], cl
lea rcx, [0x140426b18]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x1405640b0], rax
mov rax, qword [0x1405640b0]
mov rax, qword [rax + 0x38]
mov esi, esi
add rsi, rax
test bl, bl
je 0x1401b3f9c
mov ecx, 0x9996
mov eax, dword [0x140511b60]
add eax, ecx
cdqe
add rax, qword [0x140511bb0]
lea rdi, [rbp - 8]
mov rcx, rdi
mov edx, 0x144d5560
mov r8d, 0x7d76a12e
call qword [0x1404ee420]
lea rdx, [0x1405645c0]
lea r9, [rbp - 0xc]
mov rcx, rdi
mov r8, rsi
call fcn.14022c920
mov eax, 0x9996
add eax, dword [0x140511b74]
cdqe
add rax, qword [0x140511b88]
lea rcx, [rbp - 8]
call qword [0x1404ee420]
jmp 0x1401b45ea
test rax, rax
je 0x1401b4009
mov ecx, edi
add rcx, rsi
xor eax, eax
mov edx, 0x376c82b6
lea r8, [fcn.1401b3e10]
add r8d, r8d
add r8d, 0x22a0
mov r9d, r8d
not r9d
mov r10, rsi
nop word [rax + rax]
mov r11d, dword [r10 + 4]
mov edi, dword [0x140511ee0]
add edi, edx
cmp r11d, edi
je 0x1401b400b
nop word cs:[rax + rax]
test r9d, r8d
jne 0x1401b3ff0
lea rdi, [r11 - 8]
shr rdi, 1
add rax, rdi
add r10, r11
cmp r10, rcx
jb 0x1401b3fd0
jmp 0x1401b400b
xor eax, eax
mov rcx, qword [0x1405645c8]
mov r8, qword [0x1405645c0]
sub rcx, r8
sar rcx, 3
mov rdx, rax
xor rdx, rax
not rdx
and rdx, rcx
xor rdx, rax
and rcx, rax
add rcx, rcx
xor rcx, rdx
mov rax, rcx
not rax
and rax, rdx
lea rdx, [rcx + rax*2]
mov rax, qword [0x1405645d0]
sub rax, r8
sar rax, 3
cmp rax, rdx
jae 0x1401b4096
mov rax, rdx
shr rax, 0x3d
jne 0x1401b4602
mov eax, 0x33b85a8e
add eax, dword [0x140511b64]
mov ecx, eax
xor ecx, 0xcc483f08
and eax, 0x4c483f08
lea eax, [rcx + rax*2]
cdqe
add rax, qword [0x140511ba0]
lea rcx, [0x1405645c0]
call qword [0x1404ee420]
mov eax, dword [rbp - 0xc]
mov qword [rbp - 0x18], rax
test rax, rax
sete al
mov qword [rbp - 8], 0
movzx edx, byte [0x140564500]
xor dl, al
mov r8d, edx
xor r8b, 1
and al, r8b
mov ecx, eax
xor cl, 1
xor al, dl
and cl, r8b
or cl, al
xor cl, 1
mov r8d, ecx
and r8b, al
mov rdx, qword [0x140511960]
movsxd r14, dword [rdx]
mov r13d, dword [0x14042d380]
test r8b, 1
jne 0x1401b4575
xor cl, al
test cl, 1
jne 0x1401b4575
add qword [rbp - 0x18], rsi
add r14, rdx
lea rdi, [fcn.1401b3e10]
mov ebx, 0x376c82b8
mov r15d, 0x376c82b7
mov r12b, 1
mov qword [rbp - 0x20], r14
mov dword [rbp - 0x10], r13d
jmp 0x1401b4138
mov eax, dword [rsi + 4]
add rsi, rax
cmp rsi, qword [rbp - 0x18]
mov r14, qword [rbp - 0x20]
mov r13d, dword [rbp - 0x10]
jae 0x1401b4575
mov ecx, dword [0x140511950]
lea eax, [rcx + 1]
mov edx, dword [0x140564614]
cmp edx, 0x48
jge 0x1401b416a
nop dword [rax]
mov dword [0x140511950], eax
mov edx, dword [0x140564610]
lea r8d, [rdx + 1]
imul r8d, edx
test r8b, 1
je 0x1401b4180
mov dword [0x140511950], eax
jmp 0x1401b4150
mov edx, ecx
xor edx, eax
not eax
not ecx
and ecx, eax
or ecx, edx
xor ecx, 0xffffffff
je 0x1401b41a0
xor r8d, r8d
jmp 0x1401b41c0
xor r9d, r9d
mov r8d, 0
test r13d, r13d
jg 0x1401b446b
nop word cs:[rax + rax]
mov r10d, 0x376c82b6
nop word cs:[rax + rax]
cmp dword [0x140511ee0], 0xc8937d4a
je 0x1401b4211
mov edx, dword [0x140564610]
lea eax, [rdx + 0x7a1b24e7]
mov r9d, eax
xor r9d, 0x85e4db18
and eax, 0x5e4db18
lea eax, [r9 + rax*2]
imul eax, edx
mov r9d, dword [0x140511ee0]
add r9d, ebx
xor edx, edx
div r9d
test edx, edx
jne 0x1401b41d0
mov eax, dword [rsi + 4]
mov edx, dword [0x140511ee0]
add edx, r10d
mov r9d, dword [0x140564614]
cmp r9d, 0x17
jg 0x1401b41dc
cmp eax, edx
mov r10d, 0x376c830d
je 0x1401b4575
nop dword [rax + rax]
mov edx, dword [0x140564610]
lea r9d, [rdx - 1]
imul r9d, edx
test r9b, 1
jne 0x1401b425f
mov edx, dword [0x140564614]
cmp edx, 0xe
jle 0x1401b4270
mov edx, dword [0x140564614]
cmp edx, 0x26
jge 0x1401b4240
jmp 0x1401b4254
mov edx, dword [0x140511ed8]
cmp ecx, 1
mov r9d, edx
adc r9w, 0xffff
mov ecx, 0xdc5
sub ecx, r9d
mov r9d, edx
sub r9d, r8d
add r9w, word [0x14042d370]
add edx, r9d
add edx, 0xffffe474
mov r8d, edx
not r8d
xor edx, ecx
not ecx
and ecx, r8d
or ecx, edx
not ecx
nop word cs:[rax + rax]
mov edx, dword [0x140564610]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401b42f1
movzx edx, byte [0x1405641d0]
mov r8d, dword [0x140564614]
mov r9d, dword [0x140511ee0]
add r9d, r10d
cmp r8d, r9d
jl 0x1401b4310
mov edx, dword [0x140564610]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1401b42c0
jmp 0x1401b42d4
mov r8d, dword [0x140564610]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1401b4310
mov r8d, dword [0x140564614]
cmp r8d, 0x40
test cx, cx
setne r8b
lea r9d, [rdi + rdi]
add r9d, 0x39a0
mov r10d, r9d
not r10d
test r10d, r9d
jne 0x1401b4330
mov r9d, edx
xor r9b, r8b
or r8b, dl
xor r8b, 1
or r8b, r9b
xor r8b, 1
test cx, cx
sete cl
setne r9b
xor cl, r9b
and cl, dl
xor cl, r9b
or cl, r8b
and cl, 1
mov byte [0x1405641d0], cl
mov ecx, dword [0x140564614]
mov edx, dword [0x140511ee0]
mov r8d, 0x376c8304
add edx, r8d
cmp ecx, edx
movabs r8, 0x1534b7964
mov rcx, qword [0x140511ed0]
mov rdx, rcx
xor rdx, r8
and ecx, 0x534b7964
lea r14, [rdx + rcx*2]
add r14, rax
shr r14, 1
test r14d, r14d
setg cl
or cl, byte [0x1405641d0]
mov edx, dword [0x140564614]
cmp edx, 0x27
jg 0x1401b43a0
test cl, 1
je 0x1401b4120
dec r14d
xor r13d, r13d
nop word cs:[rax + rax]
mov ecx, dword [rsi]
mov qword [rbp - 8], rcx
shl rcx, 4
movzx eax, word [rsi + r13*2 + 8]
add rax, rcx
mov qword [rbp - 8], rax
mov rdx, qword [0x1405645c8]
cmp rdx, qword [0x1405645d0]
je 0x1401b4430
mov qword [rdx], rax
add qword [0x1405645c8], 8
cmp r14d, r13d
jne 0x1401b4466
jmp 0x1401b4120
mov eax, dword [0x140511b78]
mov ecx, dword [0x140511ee0]
add eax, ecx
add eax, 0x376d1c4c
cdqe
add rax, qword [0x140511b98]
lea rcx, [0x1405645c0]
lea r8, [rbp - 8]
call qword [0x1404ee420]
cmp r14d, r13d
je 0x1401b4120
inc r13
jmp 0x1401b43f0
xor r8d, r8d
jmp 0x1401b448a
mov eax, dword [0x140511ee0]
sub eax, r9d
add eax, 0x376c82b8
mov r9d, eax
cmp eax, r13d
jge 0x1401b41c0
movsxd r10, r9d
add r10, r14
xor eax, eax
test al, al
jne 0x1401b44a5
movzx eax, word [r10]
mov edx, dword [0x140564614]
cmp edx, 0x28
jle 0x1401b44cb
mov eax, dword [0x140564614]
cmp eax, 0x60
jg 0x1401b4550
jmp 0x1401b4530
mov edx, dword [0x140564614]
cmp edx, 0x23
jl 0x1401b44d7
cmp dword [0x140511ee0], 0xc8937d4a
jne 0x1401b44c0
mov edx, dword [0x140511ee0]
add edx, r15d
lea r10d, [rdi + rdi]
add r10d, 0x4380
xor r10d, edx
not r10d
test r10d, edx
jne 0x1401b44c0
mov edx, eax
xor edx, eax
not edx
and edx, r8d
xor edx, eax
mov r8d, edx
neg r9d
nop word [rax + rax]
mov eax, dword [0x140564614]
cmp eax, 0x4e
jle 0x1401b4470
test r12b, r12b
je 0x1401b4510
jmp 0x1401b4470
movzx eax, word [r10]
mov eax, dword [0x140564614]
cmp eax, 0x31
jl 0x1401b4496
nop word cs:[rax + rax]
movzx eax, word [r10]
mov edx, dword [0x140564610]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x140511ee0]
add r11d, ebx
xor edx, edx
div r11d
test edx, edx
jne 0x1401b4550
jmp 0x1401b4530
mov eax, 0x9996
add eax, dword [0x140511b68]
cdqe
add rax, qword [0x140511bb8]
lea rcx, [0x1405645c0]
call qword [0x1404ee420]
mov rdx, qword [0x1405645c8]
mov rcx, qword [0x1405645c0]
mov r8, rdx
sub r8, rcx
sar r8, 3
mov eax, dword [0x140511b70]
mov r9d, dword [0x140511ee0]
mov r10d, r9d
xor r10d, 0xcba79919
sub eax, r9d
and r9d, 0x4ba79919
lea r9d, [r10 + r9*2]
add eax, r9d
add eax, 0x3459007d
cdqe
add rax, qword [0x140511b90]
call qword [0x1404ee420]
lea rax, [0x1405645c0]
add rsp, 0x48
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [0x140511b7c]
sub eax, dword [0x140511ee0]
add eax, 0xc89416e0
cdqe
add rax, qword [0x140511ba8]
call qword [0x1404ee420]
int3