Function at 0x140020040
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
mov rdi, r8
mov r14, rdx
mov rsi, rcx
mov eax, dword [0x1401bc800]
mov ecx, dword [0x1401bd448]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002048a
mov r11, qword [0x1401bc7f8]
mov rdx, rdi
sub rdx, r14
cmp rdx, 0x40
ja 0x1400200a1
mov rcx, r14
mov r8, r11
call fcn.1400204e0
jmp 0x140020473
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x40], rsi
movabs rbx, 0xb492b66fbe98f273
movabs r8, 0x9ddfea08eb382d69
mov r9, r11
xor r9, rbx
mov rax, r9
imul rax, r8
mov rcx, rax
shr rcx, 0x2f
xor rax, rbx
xor rax, rcx
imul rax, r8
mov r10, rax
shr r10, 0x2f
xor r10, rax
imul r10, r8
rol r9, 0xf
mov rsi, r11
imul rsi, rbx
mov rcx, r11
shr rcx, 0x2f
xor rcx, r11
xor rsi, rcx
imul rsi, r8
mov rax, rcx
xor rax, rsi
shr rsi, 0x2f
xor rsi, rax
imul rsi, r8
mov rax, rsi
shr rax, 0x2f
xor rax, rsi
imul rax, r8
mov rdi, qword [r14 + 8]
mov r15, qword [r14 + 0x10]
mov rbp, rdx
lea r12, [r11 + rdi]
add r12, r9
rol r12, 0x1b
lea rsi, [rbx + 1]
imul rsi, r11
mov rdx, qword [r14 + 0x30]
add rsi, rdx
rol rsi, 0x16
imul r12, rbx
imul rsi, rbx
xor r12, rax
mov r8, qword [r14 + 0x28]
add r9, r8
add r9, rsi
add r10, rcx
movabs rsi, 0x927126fd822d9fa9
imul rsi, r11
add rsi, qword [r14]
add rdi, r15
add rdi, rsi
mov r13, rdi
rol r13, 0x14
add rcx, rsi
add r13, rsi
mov r11, qword [r14 + 0x18]
add rcx, r11
add rcx, r12
rol rcx, 0x2b
add r13, rcx
add rdi, r11
rol r10, 0x1f
imul r10, rbx
add rax, r10
add r15, r9
add rax, qword [r14 + 0x20]
add r8, rdx
mov rcx, qword [r14 + 0x38]
add r15, rcx
add r15, rax
rol r15, 0x2b
add r8, rax
add r15, rax
mov rax, r8
rol rax, 0x14
add r15, rax
add r8, rcx
mov qword [rsp + 0x38], rbp
and rbp, 0xffffffffffffffc0
mov qword [rsp + 0x28], rbp
cmp rbp, 0x40
jne 0x1400201fd
mov rbp, r15
mov rcx, r8
mov r11, r13
mov rsi, rdi
mov rbx, r12
jmp 0x1400202ed
add qword [rsp + 0x28], 0xffffffffffffffc0
xor eax, eax
nop word cs:[rax + rax]
add r10, r9
add r10, rdi
mov rsi, qword [r14 + rax + 0x48]
mov rdx, qword [r14 + rax + 0x50]
add r10, rsi
rol r10, 0x1b
movabs rbp, 0xb492b66fbe98f273
imul r10, rbp
add r9, r13
mov rcx, qword [r14 + rax + 0x70]
mov qword [rsp + 0x20], rcx
add r9, rcx
rol r9, 0x16
imul r9, rbp
mov rbx, r10
xor rbx, r15
mov rcx, qword [r14 + rax + 0x68]
add rdi, rcx
add r12, r8
rol r12, 0x1f
add r9, rdi
imul r13, rbp
add r13, qword [r14 + rax + 0x40]
mov r10, r12
mov rdi, qword [r14 + rax + 0x58]
add r8, r13
add r8, rdi
add r8, rbx
rol r8, 0x2b
add rsi, rdx
add rsi, r13
mov r11, rsi
rol r11, 0x14
imul r10, rbp
add r11, r13
add r11, r8
add r15, r10
add rdx, r9
add r15, qword [r14 + rax + 0x60]
mov r8, qword [r14 + rax + 0x78]
add rdx, r15
add rdx, r8
rol rdx, 0x2b
add rsi, rdi
add rcx, qword [rsp + 0x20]
add rcx, r15
mov rbp, rcx
rol rbp, 0x14
add rbp, r15
add rbp, rdx
add rcx, r8
add rax, 0x40
mov r12, rbx
mov rdi, rsi
mov r13, r11
mov r8, rcx
mov r15, rbp
cmp qword [rsp + 0x28], rax
jne 0x140020210
mov r12, qword [rsp + 0x38]
test r12b, 0x3f
je 0x1400203c9
mov r13, qword [rsp + 0x30]
mov rax, qword [r13 - 0x38]
mov rdx, qword [r13 - 0x30]
add r10, rax
add r10, r9
add r10, rsi
rol r10, 0x1b
movabs r15, 0xb492b66fbe98f273
imul r10, r15
add r9, r11
mov r8, qword [r13 - 0x10]
mov qword [rsp + 0x20], r8
add r9, r8
rol r9, 0x16
imul r9, r15
xor r10, rbp
mov r8, qword [r13 - 0x18]
add rsi, r8
add r9, rsi
add rbx, rcx
rol rbx, 0x1f
mov rdi, rbx
imul r11, r15
add rcx, r10
add r11, qword [r13 - 0x40]
mov r14, qword [r13 - 0x28]
add rcx, r14
add rcx, r11
rol rcx, 0x2b
imul rdi, r15
add rax, rdx
add rax, r11
mov rsi, rax
rol rsi, 0x14
add rsi, r11
add rsi, rcx
add rax, r14
add rbp, rdi
add rbp, qword [r13 - 0x20]
add rdx, r9
mov rcx, qword [r13 - 8]
add rdx, rcx
add rdx, rbp
rol rdx, 0x2b
add r8, qword [rsp + 0x20]
add r8, rbp
mov r11, r8
rol r11, 0x14
add rdx, rbp
add rdx, r11
add r8, rcx
mov rbp, rdx
mov rcx, r8
mov r11, rsi
mov rsi, rax
mov rbx, r10
mov r10, rdi
jmp 0x1400203d3
movabs r15, 0xb492b66fbe98f273
xor r11, rbp
movabs r8, 0x9ddfea08eb382d69
imul r11, r8
xor rbp, r11
shr r11, 0x2f
xor r11, rbp
imul r11, r8
mov rdx, r11
shr rdx, 0x2f
xor rdx, r11
imul rdx, r8
mov rax, r12
shr rax, 0x2f
xor rax, r12
imul rax, r15
add rax, r10
add rax, rdx
xor rsi, rcx
imul rsi, r8
xor rcx, rsi
shr rsi, 0x2f
xor rsi, rcx
imul rsi, r8
mov rcx, rsi
shr rcx, 0x2f
xor rcx, rsi
imul rcx, r8
mov rdx, r9
shr rdx, 0x2f
xor rdx, r9
imul rdx, r15
add rdx, rbx
add rdx, rcx
xor rdx, rax
imul rdx, r8
xor rax, rdx
shr rdx, 0x2f
xor rdx, rax
imul rdx, r8
mov rax, rdx
shr rax, 0x2f
xor rax, rdx
imul rax, r8
mov rsi, qword [rsp + 0x40]
mov qword [rsi], rax
mov rax, rsi
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [0x1401bc800]
call fcn.140121230
cmp dword [0x1401bc800], 0xffffffff
jne 0x14002007e
mov rax, qword [0x1401bdc70]
test rax, rax
movabs rcx, 0xff51afd7ed558ccd
cmovne rcx, rax
mov qword [0x1401bc7f8], rcx
lea rcx, [0x1401bc800]
call fcn.140121298
jmp 0x14002007e