Function at 0x140060a40
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r8, rdx
mov eax, dword [0x141dc6930]
imul eax, dword [0x141dc6934]
mov r15, rcx
or eax, 0x64853e52
imul eax, eax, 0xfd6b8e5f
cmp eax, 0x1670a3d8
jb 0x140060ab3
mov eax, dword [0x141dc6938]
xor edx, edx
div dword [0x141dc693c]
mov ecx, 0x99571715
imul rcx, rax
shr rcx, 0x3c
or ecx, 0x2b4cafb6
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xe3f52344
jne 0x140060ad0
mov eax, 0x20
call fcn.1400ed360
sub rsp, rax
jmp 0x140060a7a
mov eax, dword [0x141dc6940]
and eax, dword [0x141dc6944]
xor eax, 0xa0b4e5d7
imul eax, eax, 0x3669dad5
cmp eax, 0xb2ce80fd
ja 0x140060ad0
mov rax, qword [r15]
mov ecx, 0x85fa1a8d
nop word cs:[rax + rax]
mov edx, dword [0x141dc6948]
mov r9d, dword [0x141dc694c]
add edx, r9d
add edx, 0x8ae19dc
or edx, 0x5c95df6a
shr edx, 1
imul rdx, rcx
shr rdx, 0x3d
cmp edx, 0x2d1e2dd4
ja 0x140060b00
test rax, rax
je 0x140060c00
mov eax, dword [0x141dc6950]
or eax, dword [0x141dc6954]
cmp eax, 0x909bf6fb
jne 0x140060b50
mov rax, qword [r8]
mov qword [rdi], rax
mov eax, dword [0x141dc6958]
add eax, dword [0x141dc695c]
xor eax, 0xd78e583f
imul eax, eax, 0x598045d2
mov r10, qword [r15 + 8]
mov rbx, qword [r8]
mov r14, qword [r8 + 8]
mov r13, qword [r8 + 0x10]
mov rsi, qword [r8 + 0x18]
mov qword [rdi], rbx
cmp eax, 0x5e447f8e
jb 0x140060b50
mov eax, dword [0x141dc6960]
xor eax, dword [0x141dc6964]
or eax, 0x840020
and eax, 0x408401a0
cmp eax, 0x4322da66
jbe 0x140060bb0
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rsi
nop dword [rax]
mov eax, dword [0x141dc6968]
imul eax, dword [0x141dc696c]
add eax, 0x5d44027f
and eax, 0x678f1bb8
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rsi
cmp eax, 0x4c4acdff
jb 0x140060bb0
mov ecx, dword [r15 + 0x30]
movzx eax, byte [r15 + 0x38]
test byte [r15 + 0x34], 8
mov dword [rbp - 0x1c], ecx
mov byte [rbp + 7], al
jne 0x140060c47
mov ebx, ecx
test rsi, rsi
jne 0x140060daa
jmp 0x140060fc9
mov rcx, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x28]
sub rsp, 0x20
call fcn.1400613c0
add rsp, 0x20
mov ecx, eax
nop word [rax + rax]
mov eax, dword [0x141dc6970]
sub eax, dword [0x141dc6974]
xor eax, 0x3cb0da08
add eax, 0xe587905c
and eax, 0x3307ea5b
cmp eax, 0x5e862192
je 0x140060c20
jmp 0x1400613a3
mov qword [rbp - 0x10], r10
nop dword [rax + rax]
mov eax, dword [0x141dc6978]
mov ecx, dword [0x141dc697c]
add eax, ecx
add eax, 0x55b70cce
imul rax, rax, 0x5574ef79
shr rax, 0x3d
cmp eax, 0x451499d
ja 0x140060c50
mov qword [rbp - 8], rdi
mov r12, qword [r15 + 0x20]
mov qword [rbp - 0x18], r15
mov rdi, qword [r15 + 0x28]
mov eax, dword [0x141dc6980]
add eax, dword [0x141dc6984]
and eax, 0x61c1289f
add eax, 0xf568bca4
and eax, 0xc7088559
cmp eax, 0xa587e2ab
jae 0x140060cc0
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
mov r8, r14
call qword [rdi + 0x18]
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141dc6988]
or eax, dword [0x141dc698c]
xor eax, 0xb1020807
and eax, 0xf5035d27
imul r15d, eax, 0xbfbeebb0
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
mov r8, r14
call qword [rdi + 0x18]
add rsp, 0x20
cmp r15d, 0xa2719f67
ja 0x140060cc0
test al, al
mov rax, qword [rbp - 0x10]
mov rdi, qword [rbp - 8]
jne 0x1400611f0
mov qword [rdi], 1
mov qword [rdi + 8], 0
sub rax, r14
mov r10d, 0
cmovae r10, rax
mov r15, qword [rbp - 0x18]
mov dword [r15 + 0x30], 0x30
mov eax, dword [0x141dc69d8]
xor edx, edx
div dword [0x141dc69dc]
add eax, 0xa633404e
imul rax, rax, 0x511d923b
shr rax, 0x3b
imul eax, eax, 0x9dbb3261
cmp eax, 0x2acba5ac
jae 0x140060d62
mov byte [r15 + 0x38], 1
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141dc69e0]
xor edx, edx
div dword [0x141dc69e4]
imul eax, eax, 0x9e930b9b
add eax, 0x16bca598
xor eax, 0x8c67e91c
mov byte [r15 + 0x38], 1
cmp eax, 0xb1c49384
jae 0x140060d70
mov al, 1
mov ebx, 0x30
test rsi, rsi
je 0x140060fc9
lea rcx, [rsi + rsi*2]
lea rcx, [rcx*8]
add rcx, r13
jmp 0x140060dd0