Function at 0x140050ca0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xa8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x20], 0xfffffffffffffffe
mov rsi, rcx
cmp r9, 0xc
jne 0x140050ce5
mov eax, dword [r8 + 8]
mov dword [rsi + 8], eax
mov rax, qword [r8]
mov qword [rsi], rax
mov dword [rsi + 0xc], 0x1000000
jmp 0x140050f39
mov rdi, r9
mov rbx, rdx
xorpd xmm0, xmm0
movapd xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
lea rcx, [rbp - 0x20]
xor edx, edx
call fcn.140032080
shl rdi, 3
movq xmm1, rdi
punpckldq xmm1, xmmword [0x14005da60]
subpd xmm1, xmmword [0x14005da70]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
mulsd xmm0, qword [0x14005da80]
call sub.api_ms_win_crt_math_l1_1_0.dll_ceil
addsd xmm0, qword [0x14005be00]
cvttsd2si rdx, xmm0
shl edx, 7
sub rdx, rdi
add rdx, 0x40
lea rcx, [rbp - 0x20]
call fcn.140051dc0
xor r12d, r12d
lea r14, [rbp - 0x20]
lea r15, [rbp - 0x30]
jmp 0x140050d7f
mov byte [rdx], al
inc qword [rbp - 0x18]
inc r12
cmp r12, 8
je 0x140050dab
lea eax, [r12*8]
mov cl, 0x38
sub cl, al
mov rax, rdi
shr rax, cl
mov byte [rbp - 0x30], al
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
jne 0x140050d70
mov rcx, r14
mov r8, r15
call fcn.1400303a0
jmp 0x140050d76
movupd xmm0, xmmword [rbx]
movapd xmmword [rbp - 0x40], xmm0
mov rcx, qword [rbp - 0x20]
mov r15, qword [rbp - 0x18]
sub r15, rcx
cmp r15, 0x10
jae 0x140050e06
mov dword [rbp], 0
mov dword [rbp + 4], 0
mov dword [rbp + 8], 0
mov dword [rbp + 0xc], 0
xor r10d, r10d
xor r11d, r11d
xor edi, edi
xor ebx, ebx
xor r14d, r14d
xor r15d, r15d
xor r12d, r12d
xor r13d, r13d
xor eax, eax
xor edx, edx
xor r8d, r8d
xor r9d, r9d
jmp 0x140050ebb
shr r15, 4
xorpd xmm0, xmm0
xor r12d, r12d
lea rdi, [rbp - 0x30]
lea rbx, [rbp - 0x50]
lea r14, [rbp - 0x60]
nop dword [rax]
mov rax, r12
shl rax, 4
mov rcx, qword [rbp - 0x20]
movupd xmm1, xmmword [rcx + rax]
xorpd xmm1, xmm0
movapd xmm0, xmmword [rbp - 0x40]
movapd xmmword [rbp - 0x60], xmm0
movapd xmmword [rbp - 0x50], xmm1
mov rcx, rdi
mov rdx, rbx
mov r8, r14
call fcn.140051ee0
movapd xmm0, xmmword [rbp - 0x30]
inc r12
cmp r12, r15
jne 0x140050e20
mov rcx, qword [rbp - 0x20]
movapd xmmword [rbp + 0x10], xmm0
movzx r9d, byte [rbp + 0x10]
movzx eax, byte [rbp + 0x11]
mov dword [rbp], eax
movzx eax, byte [rbp + 0x12]
mov dword [rbp + 4], eax
movzx eax, byte [rbp + 0x13]
mov dword [rbp + 8], eax
movzx eax, byte [rbp + 0x14]
mov dword [rbp + 0xc], eax
movzx r10d, byte [rbp + 0x15]
movzx r11d, byte [rbp + 0x16]
movzx edi, byte [rbp + 0x17]
movzx ebx, byte [rbp + 0x18]
movzx r14d, byte [rbp + 0x19]
movzx r15d, byte [rbp + 0x1a]
movzx r12d, byte [rbp + 0x1b]
movzx r13d, byte [rbp + 0x1c]
movzx eax, byte [rbp + 0x1d]
movzx edx, byte [rbp + 0x1e]
movzx r8d, byte [rbp + 0x1f]
mov byte [rsi], r9b
mov r9d, dword [rbp]
mov byte [rsi + 1], r9b
mov r9d, dword [rbp + 4]
mov byte [rsi + 2], r9b
mov r9d, dword [rbp + 8]
mov byte [rsi + 3], r9b
mov r9d, dword [rbp + 0xc]
mov byte [rsi + 4], r9b
mov byte [rsi + 5], r10b
mov byte [rsi + 6], r11b
mov byte [rsi + 7], dil
mov byte [rsi + 8], bl
mov byte [rsi + 9], r14b
mov byte [rsi + 0xa], r15b
mov byte [rsi + 0xb], r12b
mov byte [rsi + 0xc], r13b
mov byte [rsi + 0xd], al
mov byte [rsi + 0xe], dl
mov byte [rsi + 0xf], r8b
test rcx, rcx
je 0x140050f39
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140050f34
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140050f4e
add rdx, 0x27
mov rcx, rax
call fcn.140055568
nop
add rsp, 0xa8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3