Function at 0x1402f4a40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
test edx, edx
js 0x1402f4b0b
mov r9d, edx
mov r8, rcx
mov rax, qword [rcx + 0x390]
mov rdx, qword [rcx + 0x398]
movabs rcx, 0xc58cfd34459edf2a
sub rdx, rcx
sub rdx, rax
add rdx, rcx
movabs rcx, 0x20527883f77425be
add ecx, dword [0x14050f778]
movabs r10, 0x505842e25d7968b8
sub ecx, r10d
add cl, 0xef
shr rdx, cl
cmp edx, r9d
jle 0x1402f4add
mov ecx, r9d
mov edx, 0xccab9fd0
add edx, dword [0x14050f770]
cmp dword [rax + rcx*4], edx
jle 0x1402f4add
mov rax, qword [r8 + 0x348]
mov rdx, qword [r8 + 0x390]
movsxd rdx, dword [rdx + rcx*4]
lea r8, [rcx + rcx*2]
imul rcx, rdx, 0xf0
add rcx, qword [rax + r8*8]
jmp 0x1402f4ebf
mov rax, qword [r8 + 0x398]
sub rax, qword [r8 + 0x390]
shr rax, 2
cmp eax, r9d
jle 0x1402f4b0b
mov eax, dword [0x140534194]
mov ecx, 0xccaba011
add ecx, dword [0x14050f770]
cmp eax, ecx
jge 0x1402f4b20
jmp 0x1402f4b12
xor ecx, ecx
jmp 0x1402f4ebf
movsxd rcx, dword [0x140421928]
test r8, r8
jne 0x1402f4b33
nop
mov eax, dword [0x140421928]
mov eax, dword [0x140534194]
cmp eax, 0x35
jge 0x1402f4b20
jmp 0x1402f4b12
mov eax, dword [0x140421930]
cmp byte [r8 + 0x90], 0
je 0x1402f4bc2
lea r11, [r8 + 0x94]
mov edx, r9d
mov rsi, qword [r8 + 0x348]
lea rdx, [rdx + rdx*2]
mov r10, qword [rsi + rdx*8]
mov rdx, qword [rsi + rdx*8 + 8]
sub rdx, r10
sar rdx, 4
movabs rdi, 0xeeeeeeeeeeeeeeef
imul rdi, rdx
test edi, edi
jle 0x1402f4ead
lea rdx, [0x140421928]
movabs rsi, 0x2ba3ca0afd056580
sub rdx, rsi
add rdx, rsi
add rdx, rcx
mov ecx, dword [r11]
mov dword [rsp + 4], ecx
mov esi, 0xffffffff
xor rsi, rdi
not rsi
and rsi, rdi
cmp dword [0x14050f770], 0x3354602f
jne 0x1402f4c90
jmp 0x1402f4c60
test r9d, r9d
je 0x1402f4ead
mov rdx, qword [r8 + 0x390]
mov r10, qword [r8 + 0x398]
movabs r11, 0x838497b72608b8e3
sub r10, r11
movabs rsi, 0x1d63ff5f9700f65f
add r11, rsi
movabs rdi, 0x7894881a5cceaa25
add r11, rdi
add r11, r10
sub r11, rdx
sub r11, rdi
movabs r10, 0x83f17f4ca8ef8b1a
add r11, r10
sub r11, rsi
sub r11, r10
shr r11, 2
test r11d, r11d
jle 0x1402f4ead
mov r10d, 0xccab9fd0
add r10d, dword [0x14050f770]
cmp dword [rdx], r10d
jle 0x1402f4ead
mov r10, qword [r8 + 0x348]
movsxd rdx, dword [rdx]
mov r10, qword [r10]
imul rdx, rdx, 0xf0
lea r11, [r10 + rdx]
add r11, 8
jmp 0x1402f4b4a
mov ecx, dword [0x14050e8a4]
mov edi, dword [0x14050f770]
add edi, ecx
add edi, 0xccab9fd2
mov dword [0x14050e8a4], edi
mov ebx, dword [0x140534190]
lea ebp, [rbx - 1]
imul ebp, ebx
test bpl, 1
je 0x1402f4d36
mov ecx, dword [0x14050e8a4]
sub ecx, dword [0x14050f770]
lea r11d, [rcx + 0x770567fb]
mov edi, r11d
xor edi, 2
and r11d, 2
lea edi, [rdi + r11*2]
sub edi, ecx
mov ecx, 0x770567fb
sub ecx, edi
add edi, 0x88fa9805
imul edi, ecx
mov r11d, edi
xor r11d, ecx
and ecx, edi
lea r11d, [r11 + rcx*2]
mov ecx, 0xb3fbac2a
sub ecx, edi
mov ebx, ecx
xor ebx, 0x4c0453d6
and ecx, 0x4c0453d6
lea ecx, [rbx + rcx*2]
sub ecx, r11d
shl edi, cl
mov dword [0x140534190], 1
sub edi, ecx
imul edi, ecx
sub edi, ecx
imul edi, ecx
sub edi, ecx
imul edi, ecx
mov r11d, ecx
sub r11d, edi
imul r11d, ecx
add r11d, edi
mov dword [0x14050e8a4], r11d
mov ecx, dword [0x140534190]
lea r11d, [rcx + 1]
imul r11d, ecx
test r11b, 1
jne 0x1402f4c90
jmp 0x1402f4c60
mov ebx, ecx
not ebx
xor ecx, edi
not edi
and edi, ebx
or edi, ecx
not edi
xor ebx, ebx
mov r14d, 0
test edi, edi
jne 0x1402f4d5e
mov r14d, 0
test eax, eax
jg 0x1402f4ed3
mov bpl, 1
nop word cs:[rax + rax]
imul rcx, rbx, 0xf0
add rcx, r10
mov r12d, dword [0x140421944]
cmp edi, 1
mov r15d, 0
sbb r15d, r15d
nop dword [rax]
test bpl, bpl
je 0x1402f4d90
mov edx, dword [0x140534190]
lea eax, [rdx - 1]
imul eax, edx
mov r13d, dword [0x14050f770]
lea r11d, [r13 - 0x3354602d]
xor edx, edx
div r11d
mov eax, r13d
xor eax, 0xccab9fd1
not r13d
and r13d, 0x3354602e
or r13d, eax
not r13d
lea eax, [rax + r13*2]
cmp edx, eax
jne 0x1402f4d90
neg r12d
lea eax, [r14 + r12]
neg eax
lea edx, [r14 + r12]
dec edx
mov r11d, edx
and r11d, r15d
not r15d
and eax, r15d
or eax, r11d
xor r15d, edx
not r15d
and r15d, edx
or r15d, eax
mov edx, r15d
not edx
mov eax, edx
shr eax, 0x10
mov r11d, eax
not r11d
mov r12d, r15d
and r12d, r11d
mov r13d, edx
and r13d, r11d
xor r11d, edx
xor edx, eax
or r12d, edx
not r12d
mov edx, r15d
xor edx, eax
or r13d, edx
not r13d
and eax, r15d
or eax, r11d
not eax
or eax, r13d
or eax, r12d
mov edx, eax
shr edx, 8
nop word cs:[rax + rax]
cmp dword [0x14050f770], 0x3354602f
jne 0x1402f4e71
mov r11d, dword [0x140534190]
lea r15d, [r11 - 1]
imul r15d, r11d
test r15b, 1
je 0x1402f4e90
mov r11d, dword [0x140534190]
lea r15d, [r11 - 1]
imul r15d, r11d
test r15b, 1
jne 0x1402f4e50
jmp 0x1402f4e5c
or dl, al
add byte [0x1405316e1], dl
mov eax, dword [rsp + 4]
cmp eax, dword [rcx + 8]
je 0x1402f4ebf
inc rbx
cmp rbx, rsi
jne 0x1402f4d70
movsxd rax, r9d
mov rcx, qword [r8 + 0x348]
lea rax, [rax + rax*2]
mov rcx, qword [rcx + rax*8]
mov rax, rcx
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor ecx, ecx
xor r14d, r14d
nop dword [rax + rax]
xor r14d, dword [rdx + rcx]
lea ebp, [rcx + 4]
cmp ebp, eax
jge 0x1402f4d5e
add rcx, 4
jmp 0x1402f4ee0