Function at 0x140062340
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 rbx, rdx
mov r14, rcx
mov eax, dword [0x141dc8a48]
or eax, dword [0x141dc8a4c]
or eax, 0x9e67a7e
imul eax, eax, 0x460e0bac
and eax, 0xf845ac0
cmp eax, 0x2c7305f9
jne 0x140062390
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
nop dword [rax + rax]
mov eax, dword [0x141dc8a50]
xor edx, edx
div dword [0x141dc8a54]
imul ecx, eax, 0xc89e78ef
add ecx, 0xcdaca377
xor ecx, 0x8cf1a638
mov eax, 0x20
call fcn.1400eeec0
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xd36a3cf1
ja 0x140062390
cmp qword [r14], 0
je 0x140062430
mov qword [rbp - 8], r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc8a58]
xor edx, edx
div dword [0x141dc8a5c]
xor eax, 0x40300d9
or eax, 0xb1d8cd26
imul eax, eax, 0x3763c59d
cmp eax, 0x1d447b89
jb 0x1400623e0
mov eax, dword [0x141dc8a60]
add eax, dword [0x141dc8a64]
imul eax, eax, 0xcd331573
add eax, 0xb610a068
and eax, 0x6cca8f24
cmp eax, 0xc6e4761d
jbe 0x140062478
jmp 0x1400624c3
mov eax, dword [0x141dc8a70]
xor eax, dword [0x141dc8a74]
add eax, 0x3259b3cf
and eax, 0xf2cc95e
cmp eax, 0xdab573a1
je 0x140062430
mov eax, dword [0x141dc8a78]
add eax, dword [0x141dc8a7c]
mov rdi, qword [r14 + 0x20]
or eax, 0x4f0d22e9
imul eax, eax, 0x4a0121bd
cmp eax, 0xaed440f1
jne 0x14006278e
jmp 0x1400627c6
mov eax, dword [0x141dc8a68]
xor eax, dword [0x141dc8a6c]
imul rax, rax, 0x43777dcb
shr rax, 0x3d
imul eax, eax, 0x9e2fc55f
or eax, 0xc53156e0
mov rcx, qword [rbp - 8]
mov rsi, qword [rcx + 8]
mov r15, qword [rbx]
mov r14, qword [rbx + 8]
mov r13, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
mov qword [rdi], r15
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r13
cmp eax, 0xed0dfb79
jne 0x1400624d3
movups xmm0, xmmword [rbx]
mov rax, qword [rbx + 0x10]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
jmp 0x140062478
mov qword [rdi + 0x18], rdx
mov rax, qword [rbp - 8]
mov ebx, dword [rax + 0x30]
movzx ecx, byte [rax + 0x38]
test byte [rax + 0x34], 8
mov dword [rbp - 0x1c], ebx
mov byte [rbp + 7], cl
jne 0x1400624fb
mov r15, rsi
test rdx, rdx
jne 0x14006252f
jmp 0x1400628e6
mov qword [rbp - 0x18], rdx
mov eax, dword [0x141dc8a90]
add eax, dword [0x141dc8a94]
imul rax, rax, 0x47b4ff63
shr rax, 0x3e
or eax, 0x60ca2d00
cmp eax, 0x6b951741
mov r12, qword [rbp - 8]
jbe 0x14006280d
jmp 0x14006284c
mov eax, dword [0x141dc8a80]
imul eax, dword [0x141dc8a84]
imul esi, eax, 0x7dd586c7
and esi, 0x8000020
mov rdx, qword [r14 + 0x28]
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call fcn.140062cc0
add rsp, 0x20
cmp esi, 0x50ef8523
jbe 0x1400627df
mov rdx, qword [r14 + 0x28]
sub rsp, 0x20
mov rcx, rdi
mov r8, rbx
call fcn.140062cc0
add rsp, 0x20
jmp 0x14006278e
mov ecx, eax
nop word cs:[rax + rax]
mov eax, dword [0x141dc8a88]
add eax, dword [0x141dc8a8c]
and eax, 0xa000800
cmp eax, 0xe374524c
je 0x1400627f0
jmp 0x140062c80
mov eax, dword [0x141dc8a98]
or eax, dword [0x141dc8a9c]
add eax, 0x2afbd00e
and eax, 0xecbf70d0
imul ebx, eax, 0xb6fba256
mov rcx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
mov rdx, r15
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
cmp ebx, 0xb9cc865c
jne 0x140062869
mov rcx, qword [r12 + 0x20]
mov rax, qword [r12 + 0x28]
sub rsp, 0x20
mov rdx, r15
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x14006280d
test al, al
jne 0x140062b30
mov qword [rdi], 1
mov eax, dword [0x141dc8af0]
jb 0x1400628de
invalid
add dword [rbx], esi
add eax, 0x1d66270
mov qword [rdi + 8], 0
imul eax, eax, 0x2e41f11f
and eax, 0x53446410
cmp eax, 0x9e39eb29
jne 0x1400628a9
mov rax, qword [rbp - 8]
mov dword [rax + 0x30], 0x30
xor eax, eax
mov rdx, qword [rbp - 8]
nop
mov rcx, rsi
sub rcx, r14
mov r15d, 0
cmovae r15, rcx
mov dword [rdx + 0x30], 0x30
test al, al
jne 0x1400628b0
mov byte [rdx + 0x38], 1
mov cl, 1
mov ebx, 0x30
xor r14d, r14d
mov rdx, qword [rbp - 0x18]
test rdx, rdx