Function at 0x140057910
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 rbx, rdx
mov rsi, rcx
mov eax, dword [0x14019d000]
mov ecx, dword [0x14019dd7c]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x14]
jg 0x140057d62
mov r8, qword [0x14019cff8]
mov rdx, rdi
sub rdx, rbx
cmp rdx, 0x40
ja 0x14005796e
mov rcx, rbx
call fcn.140024f40
jmp 0x140057d4b
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], rsi
movabs r15, 0xb492b66fbe98f273
movabs rbp, 0x9ddfea08eb382d69
mov r13, r8
xor r13, r15
mov rax, r13
imul rax, rbp
mov rcx, rax
shr rcx, 0x2f
xor rax, r15
xor rax, rcx
imul rax, rbp
mov r14, rax
shr r14, 0x2f
xor r14, rax
imul r14, rbp
rol r13, 0xf
mov rax, r8
imul rax, r15
mov rsi, r8
shr rsi, 0x2f
xor rsi, r8
xor rax, rsi
imul rax, rbp
mov rcx, rax
shr rcx, 0x2f
xor rax, rsi
xor rax, rcx
imul rax, rbp
mov rcx, rax
shr rcx, 0x2f
xor rcx, rax
imul rcx, rbp
lea rbp, [r8 + r13]
mov r10, qword [rbx + 8]
add rbp, r10
rol rbp, 0x1b
mov r9, qword [rbx + 0x10]
imul rbp, r15
lea rax, [r15 + 1]
imul rax, r8
mov r12, qword [rbx + 0x30]
add rax, r12
rol rax, 0x16
imul rax, r15
xor rbp, rcx
mov r11, rbx
mov rbx, qword [rbx + 0x28]
add r13, rbx
add r13, rax
add r14, rsi
movabs rdi, 0x927126fd822d9fa9
imul rdi, r8
add rsi, rbp
add rdi, qword [r11]
mov r8, qword [r11 + 0x18]
add rsi, rdi
add rsi, r8
rol rsi, 0x2b
add r10, rdi
add r10, r9
mov rax, r10
rol rax, 0x14
add rax, rdi
add rax, rsi
rol r14, 0x1f
add r10, r8
imul r14, r15
mov r8, r14
add rcx, r14
add r9, r13
add rcx, qword [r11 + 0x20]
add rbx, r12
mov rdi, qword [r11 + 0x38]
add r9, rcx
add r9, rdi
rol r9, 0x2b
add rbx, rcx
add r9, rcx
mov rcx, rbx
rol rcx, 0x14
add r9, rcx
add rbx, rdi
mov rcx, rdx
mov qword [rsp + 0x28], rdx
and rdx, 0xffffffffffffffc0
mov qword [rsp + 0x30], rdx
cmp rdx, 0x40
je 0x140057c73
mov r14, r11
add qword [rsp + 0x30], 0xffffffffffffffc0
xor r12d, r12d
mov r11, r8
nop
lea rcx, [r10 + r13]
add rcx, r11
mov r15, qword [r14 + r12 + 0x48]
mov rdi, qword [r14 + r12 + 0x50]
add rcx, r15
rol rcx, 0x1b
add r13, rax
mov r8, qword [r14 + r12 + 0x70]
add r13, r8
rol r13, 0x16
movabs rsi, 0xb492b66fbe98f273
imul rcx, rsi
imul r13, rsi
xor rcx, r9
mov rdx, qword [r14 + r12 + 0x68]
add r10, rdx
add rbp, rbx
rol rbp, 0x1f
add r13, r10
mov r11, rbp
imul r11, rsi
imul rax, rsi
add rbx, rcx
add rax, qword [r14 + r12 + 0x40]
mov r10, qword [r14 + r12 + 0x58]
add rbx, rax
add rbx, r10
rol rbx, 0x2b
add r15, rax
add r15, rdi
mov rsi, r15
rol rsi, 0x14
add rsi, rax
add rsi, rbx
add r15, r10
add r9, r11
add rdi, r13
add r9, qword [r14 + r12 + 0x60]
mov rax, qword [r14 + r12 + 0x78]
add rdi, r9
add rdi, rax
rol rdi, 0x2b
add rdx, r8
add rdx, r9
mov rbp, rdx
rol rbp, 0x14
add rdi, r9
add rdi, rbp
add rdx, rax
add r12, 0x40
mov rbp, rcx
mov r10, r15
mov rax, rsi
mov rbx, rdx
mov r9, rdi
cmp qword [rsp + 0x30], r12
jne 0x140057ad0
test byte [rsp + 0x28], 0x3f
je 0x140057c90
lea rax, [r15 + r13]
add rax, r11
mov rbp, qword [rsp + 0x38]
mov r8, qword [rbp - 0x38]
add rax, r8
rol rax, 0x1b
mov rbx, qword [rbp - 0x30]
movabs r12, 0xb492b66fbe98f273
imul rax, r12
add r13, rsi
mov r9, qword [rbp - 0x10]
add r13, r9
rol r13, 0x16
imul r13, r12
xor rax, rdi
mov r11, qword [rbp - 0x18]
add r15, r11
add r13, r15
add rcx, rdx
rol rcx, 0x1f
mov r14, rcx
imul rsi, r12
add rdx, rax
add rsi, qword [rbp - 0x40]
mov r10, qword [rbp - 0x28]
add rdx, rsi
add rdx, r10
rol rdx, 0x2b
add r8, rsi
add r8, rbx
mov rcx, r8
rol rcx, 0x14
imul r14, r12
add rcx, rsi
add rcx, rdx
add rdi, r14
add rbx, r13
add rdi, qword [rbp - 0x20]
mov rdx, qword [rbp - 8]
add rbx, rdi
add rbx, rdx
rol rbx, 0x2b
add r11, r9
add r11, rdi
mov rbp, r11
rol rbp, 0x14
add r8, r10
add rbx, rdi
add rbx, rbp
add r11, rdx
mov rdi, rbx
mov rdx, r11
mov rsi, rcx
mov r15, r8
mov rcx, rax
jmp 0x140057c9d
mov rdi, r9
mov rdx, rbx
mov rsi, rax
mov r15, r10
mov rcx, rbp
mov r11, r8
test byte [rsp + 0x28], 0x3f
jne 0x140057baf
movabs r12, 0xb492b66fbe98f273
mov r14, r11
xor rsi, rdi
movabs rbx, 0x9ddfea08eb382d69
imul rsi, rbx
mov rax, rsi
shr rax, 0x2f
xor rsi, rdi
xor rsi, rax
imul rsi, rbx
mov rbp, rsi
shr rbp, 0x2f
xor rbp, rsi
imul rbp, rbx
mov rdi, qword [rsp + 0x28]
mov rax, rdi
shr rax, 0x2f
xor rax, rdi
imul rax, r12
add rax, r14
add rax, rbp
xor r15, rdx
imul r15, rbx
mov rbp, r15
shr rbp, 0x2f
xor r15, rdx
xor r15, rbp
imul r15, rbx
mov rdx, r15
shr rdx, 0x2f
xor rdx, r15
imul rdx, rbx
mov rbp, r13
shr rbp, 0x2f
xor rbp, r13
imul rbp, r12
add rbp, rcx
add rbp, rdx
xor rbp, rax
imul rbp, rbx
mov rcx, rbp
shr rcx, 0x2f
xor rbp, rax
xor rbp, rcx
imul rbp, rbx
mov rax, rbp
shr rax, 0x2f
xor rax, rbp
imul rax, rbx
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, [0x14019d000]
call fcn.14016a3dc
cmp dword [0x14019d000], 0xffffffff
jne 0x14005794e
mov rax, qword [0x14019db68]
test rax, rax
movabs rcx, 0xff51afd7ed558ccd
cmovne rcx, rax
mov qword [0x14019cff8], rcx
lea rcx, [0x14019d000]
call fcn.14016a37c
jmp 0x14005794e