Function at 0x1402220d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x148
mov r14, rcx
lea rsi, [rcx + 8]
mov eax, dword [0x14051dff8]
mov ecx, dword [0x140520970]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x26838]
jg 0x140222435
mov rbx, qword [0x14051dfe8]
mov rdx, qword [r14 + 8]
mov rdi, qword [r14 + 0x18]
cmp qword [r14 + 0x20], 0x10
setae cl
mov dword [rsp + 0x28], 0xb432b56b
mov dword [rsp + 0x20], 0xa3f6ea47
lea r9, [rsp + 0x38]
mov r8, rsi
call fcn.140227570
mov rsi, qword [rsp + 0x38]
lea rdx, [rsp + 0x38]
mov rcx, rdi
mov r8d, 0x6f7fcd5a
mov r9d, 0xc9285cc1
call fcn.140227300
movzx eax, byte [rsp + 0x38]
test rbx, rbx
setne dl
not al
and al, 1
xor ecx, ecx
cmp dl, al
je 0x14022241f
test rbx, rbx
je 0x14022241f
cmp qword [0x14051dff0], 0x10
jb 0x140222193
mov r12, qword [0x14051dfd8]
jmp 0x14022219a
lea r12, [0x14051dfd8]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm0
movaps xmmword [rsp + 0x130], xmm0
movabs rax, 0x9e980d3dba1e63cb
add rax, qword [0x1404df458]
mov rcx, rbx
not rcx
mov rdx, rbx
xor rdx, rax
not rax
and rax, rcx
or rax, rdx
mov r14, r12
cmp rax, 0xffffffffffffffff
je 0x140222267
lea r14, [r12 + 1]
add rax, 2
nop dword [rax]
movzx ecx, byte [r14 - 1]
mov byte [rsp + rcx + 0x40], 1
test rax, rax
je 0x140222267
inc r14
inc rax
jmp 0x140222250
add r12, rbx
mov eax, dword [0x14051e064]
cmp eax, 0x16
nop word cs:[rax + rax]
mov r9d, dword [0x1404df464]
lea r8d, [r9 + 0x39451030]
add r9d, 0x87ef0d00
lea rdx, [rsp + 0x38]
mov rcx, rbx
call fcn.140227600
movzx eax, byte [rsp + 0x38]
mov ecx, dword [0x14051e064]
mov edx, dword [0x1404df464]
mov r8d, edx
xor r8d, 0x10373e20
and edx, 0x10373e20
lea edx, [r8 + rdx*2]
cmp ecx, edx
jge 0x140222280
test al, 1
jne 0x140222377
lea rbx, [rsp + 0x38]
lea r15, [rsp + 0x40]
nop dword [rax]
movzx eax, byte [r14]
mov byte [rsp + rax + 0x40], 1
movzx eax, byte [r14 + 1]
mov byte [rsp + rax + 0x40], 1
mov rcx, r14
mov rdx, rbx
mov r8d, 0xa48dff95
mov r9d, 0x782d624
call fcn.140227890
movzx eax, byte [rsp + 0x38]
mov byte [rsp + rax + 0x40], 1
movzx edx, byte [r14 + 3]
mov dword [rsp + 0x20], 0x4d92194d
mov rcx, r15
mov r8, r14
mov r9d, 0xdbb8823b
call fcn.1402275c0
movzx eax, byte [r14 + 5]
mov byte [rsp + rax + 0x40], 1
movzx eax, byte [r14 + 6]
mov byte [rsp + rax + 0x40], 1
movzx ecx, byte [r14 + 7]
mov dword [rsp + 0x28], 0xddd6b9c2
mov dword [rsp + 0x20], 0x49a8cf3e
mov rdx, r15
mov r8, r14
mov r9, rbx
call fcn.140227610
mov r14, qword [rsp + 0x38]
cmp r14, r12
jne 0x1402222e0
mov dword [rsp + 0x20], 0xe2d525ef
lea r8, [rsp + 0x38]
mov rcx, rsi
mov rdx, rdi
mov r9d, 0xebdc2229
call fcn.140227310
test al, 1
je 0x1402223e0
mov r14, qword [rsp + 0x38]
xor ebx, ebx
lea rdi, [rsp + 0x38]
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, rdi
mov r8d, 0xb03c764d
mov r9d, 0xbe35e0ed
call fcn.1400eca90
movzx eax, byte [rsp + 0x38]
cmp byte [rsp + rax + 0x40], 0
jne 0x140222413
inc rsi
cmp rsi, r14
jae 0x1402223e0
dec rbx
jmp 0x1402223b0
mov eax, dword [0x14051e064]
mov r8d, 0x10373ddd
nop dword [rax]
mov ecx, dword [0x14051e060]
lea eax, [rcx - 1]
imul eax, ecx
mov r9d, dword [0x1404df464]
add r9d, r8d
xor ecx, ecx
xor edx, edx
div r9d
test edx, edx
jne 0x1402223f0
jmp 0x14022241f
test rbx, rbx
sete cl
or cl, byte [0x14051e068]
and cl, 1
mov eax, ecx
add rsp, 0x148
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov dword [rsp + 0x28], 0x949fa76a
mov dword [rsp + 0x20], 0x24a567c6
lea rdx, [0x14051dff8]
mov ecx, 1
xor r8d, r8d
mov r9d, 1
call fcn.140226af0
cmp dword [0x14051dff8], 0xffffffff
jne 0x14022210c
mov qword [0x14051dff0], 0xf
mov qword [0x14051dfe8], 1
mov word [0x14051dfd8], 0x5c
lea rax, [0x1403eb8c8]
mov qword [0x14051dfd0], rax
lea rcx, [0x140225d00]
mov edx, 0x8023ca96
mov r8d, 0x4e7cf419
call fcn.1400ad8d0
mov dword [rsp + 0x28], 0x949fa76a
mov dword [rsp + 0x20], 0x24a567c6
lea rdx, [0x14051dff8]
mov ecx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.140226af0
jmp 0x14022210c