Function at 0x140060c30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r15
sub rsp, 0x20
xor r9d, r9d
movaps xmm0, xmm3
comisd xmm3, xmmword [0x1400961f0]
mov rdi, rdx
mov rbx, rcx
lea r15d, [r9 + 1]
mulsd xmm0, qword [0x140096218]
cvttsd2si rsi, xmm0
jb 0x140060d1e
mov rsi, qword [rsp + 0x68]
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], r14
mov r14, qword [rsp + 0x60]
nop dword [rax]
imul edx, dword [rsi], 0x9e3779b1
mov r8, r15
xor edx, 0x85ebca77
rol edx, 0xd
mov eax, edx
shr al, 5
and al, 3
add al, 8
lea ecx, [rax + rax]
imul eax, edx, 0x9e3779b1
shl r8, cl
xor edx, edx
xor eax, 0x85ebca77
rol eax, 0xd
mov ecx, eax
shr rcx, 5
mov dword [rsi], eax
lea rax, [r8 - 1]
and rcx, rax
add r8, rcx
lea rcx, [r9 + rbx]
lea rbp, [r8 + r9]
cmp rdi, rbp
jb 0x140060cfc
call fcn.14006e780
imul eax, dword [rsi], 0x9e3779b1
mov r9, rbp
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [rsi], eax
shr rax, 5
and eax, 0x1fff
movzx eax, byte [rax + r14]
mov byte [rbp + rbx - 1], al
jmp 0x140060c80
sub rdi, r9
mov r8, rdi
mov r14, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
jmp fcn.14006e780
mov r8, qword [rsp + 0x68]
mov rdx, r15
mov r11, qword [rsp + 0x60]
imul eax, dword [r8], 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [r8], eax
shr rax, 5
and eax, 0x1fff
movzx eax, byte [rax + r11]
mov byte [rcx], al
cmp r15, rdi
jae 0x140060ef4
nop word [rax + rax]
imul ecx, dword [r8], 0x9e3779b1
xor ecx, 0x85ebca77
rol ecx, 0xd
mov eax, ecx
mov dword [r8], ecx
shr eax, 5
and eax, 0x7fff
cmp eax, esi
jae 0x140060e67
imul eax, ecx, 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [r8], eax
test al, 0xe0
je 0x140060db3
imul eax, eax, 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [r8], eax
shr eax, 5
and eax, 0xf
jmp 0x140060dcf
imul eax, eax, 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [r8], eax
shr eax, 5
and eax, 0x1ff
add eax, 0xf
lea ecx, [rax + 4]
mov eax, ecx
lea r10d, [rdx + rcx]
add rax, rdx
cmp rax, rdi
jb 0x140060de3
mov r10d, edi
imul eax, dword [r8], 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
imul r9d, eax, 0x9e3779b1
and eax, 0x1e0
xor r9d, 0x85ebca77
rol r9d, 0xd
mov dword [r8], r9d
shr r9d, 5
and r9d, 0x7fff
inc r9d
cmp eax, 0x40
je 0x140060e2c
mov eax, r9d
mov r15d, edx
cmp rax, rdx
cmovb r15d, r9d
mov eax, r15d
mov rcx, rdx
sub rcx, rax
mov r9d, r10d
cmp rdx, r9
jae 0x140060eeb
add rcx, rbx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rdx + rbx], al
inc rdx
cmp rdx, r9
jb 0x140060e50
jmp 0x140060eeb
imul eax, ecx, 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
imul ecx, eax, 0x9e3779b1
mov dword [r8], eax
xor ecx, 0x85ebca77
rol ecx, 0xd
mov dword [r8], ecx
shr ecx, 5
test al, 0xe0
je 0x140060e96
and ecx, 0xf
jmp 0x140060e9f
and ecx, 0x1ff
add ecx, 0xf
mov eax, ecx
add rax, rdx
cmp rax, rdi
lea eax, [rdx + rcx]
jb 0x140060eae
mov eax, edi
mov ecx, eax
cmp rdx, rcx
jae 0x140060eeb
nop word [rax + rax]
imul eax, dword [r8], 0x9e3779b1
xor eax, 0x85ebca77
rol eax, 0xd
mov dword [r8], eax
shr rax, 5
and eax, 0x1fff
movzx eax, byte [rax + r11]
mov byte [rdx + rbx], al
inc rdx
cmp rdx, rcx
jb 0x140060ec0
cmp rdx, rdi
jb 0x140060d60
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret