Function at 0x140059020
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
mov r9, rdx
lea rax, [rdx + 7]
and rax, 0xfffffffffffffff8
mov r10, rax
sub r10, rdx
nop dword [rax + rax]
mov edx, dword [0x141dc76a8]
xor edx, dword [0x141dc76ac]
cmp edx, 0x4e02386a
je 0x140059040
cmp rax, r9
je 0x1400591cf
cmp r10, r8
cmovae r10, r8
mov r11d, 0xc0e94335
nop word [rax + rax]
mov eax, dword [0x141dc76b0]
xor edx, edx
div dword [0x141dc76b4]
or eax, 0x7fc843a0
imul eax, eax, 0xb376bec1
imul rax, r11
shr rax, 0x3f
cmp eax, 0x9609db91
je 0x140059070
nop dword [rax + rax]
mov eax, dword [0x141dc76b8]
and eax, dword [0x141dc76bc]
add eax, 0x6e8f754f
xor eax, 0xc7aa49a7
imul rax, rax, 0x2f4856d3
shr rax, 0x39
cmp eax, 0x5d680f7e
ja 0x1400590a0
test r10, r10
je 0x1400591cf
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x141dc7710]
xor edx, edx
div dword [0x141dc7714]
nop
mov eax, dword [0x141dc7718]
sub eax, dword [0x141dc771c]
imul eax, eax, 0x2ce78cb9
add eax, 0xcfaf6af1
or eax, 0xc0efd86f
cmp eax, 0x5cb1f8a6
jb 0x1400590f0
cmp byte [r9 + r11], cl
je 0x140059394
nop dword [rax]
mov eax, dword [0x141dc7720]
and eax, dword [0x141dc7724]
shr eax, 1
imul rax, rax, 0x29773515
shr rax, 0x33
imul eax, eax, 0xdc882b2c
cmp eax, 0xc6e086b6
je 0x140059120
inc r11
cmp r11, r10
jne 0x1400590e0
lea r11, [r8 - 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dc76c0]
or eax, dword [0x141dc76c4]
or eax, 0x8d8ba410
imul eax, eax, 0x5f0b0f1e
imul rdx, rax, 0x433e20ef
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0x2a01068c
je 0x140059160
nop word cs:[rax + rax]
mov eax, dword [0x141dc76c8]
xor edx, edx
div dword [0x141dc76cc]
imul eax, eax, 0xd8588cf
xor eax, 0x8c10d590
or eax, 0x33c9084f
cmp eax, 0x937e0cd6
jb 0x1400591a0
cmp r10, r11
jbe 0x1400591d6
jmp 0x1400592f3
lea r11, [r8 - 0x10]
xor r10d, r10d
movabs rsi, 0x101010101010101
mov edx, 0xb6b8415b
movzx eax, cl
imul rax, rsi
nop dword [rax]
mov esi, dword [0x141dc76d0]
or esi, dword [0x141dc76d4]
or esi, 0x11118004
and esi, 0x9d75b185
imul rsi, rdx
shr rsi, 0x3d
cmp esi, 0xcf12f1ea
ja 0x1400591f0
movabs rdx, 0xfefefefefefefeff
movabs rsi, 0x8080808080808080
mov edi, 0xae8dc9ab
nop word cs:[rax + rax]
mov ebx, dword [0x141dc76d8]
xor ebx, dword [0x141dc76dc]
imul rbx, rdi
shr rbx, 0x3d
add ebx, 0x9aac767d
cmp ebx, 0xf9aac10b
ja 0x140059240
mov rbx, qword [r9 + r10]
xor rbx, rax
lea r14, [rbx + rdx]
not rbx
and rbx, r14
mov r14, qword [r9 + r10 + 8]
xor r14, rax
lea r15, [r14 + rdx]
not r14
and r14, r15
or r14, rbx
test r14, rsi
jne 0x1400592f3
nop dword [rax]
mov ebx, dword [0x141dc76e0]
sub ebx, dword [0x141dc76e4]
and ebx, 0x48039d31
imul ebx, ebx, 0x12313db
add ebx, 0x9fdfc086
cmp ebx, 0xecddb620
ja 0x140059290
add r10, 0x10
nop word [rax + rax]
mov ebx, dword [0x141dc76e8]
mov r14d, dword [0x141dc76ec]
add ebx, r14d
add ebx, 0xf54d6e68
xor ebx, 0x68936947
imul ebx, ebx, 0x1e91eaa9
cmp ebx, 0x2dbc1e11
je 0x1400592c0
cmp r10, r11
jbe 0x140059240
sub r8, r10
jne 0x140059300
xor r10d, r10d
jmp 0x1400593a0
add r9, r10
xor r10d, r10d
xor r11d, r11d
nop dword [rax]
cmp byte [r9 + r11], cl
je 0x14005938c
nop word cs:[rax + rax]
mov eax, dword [0x141dc76f0]
and eax, dword [0x141dc76f4]
xor eax, 0x445bcb2f
imul eax, eax, 0x8ac6e3b2
add eax, 0x848c9dab
cmp eax, 0x16c036d8
jb 0x140059320
inc r11
mov eax, dword [0x141dc76f8]
xor edx, edx
div dword [0x141dc76fc]
nop word cs:[rax + rax]
mov eax, dword [0x141dc7700]
sub eax, dword [0x141dc7704]
add eax, 0x7f0b3feb
shr eax, 1
imul rax, rax, 0x47d28c99
shr rax, 0x3d
cmp eax, 0x9b1a2b28
je 0x140059360
cmp r11, r8
jne 0x140059310
jmp 0x1400593a0
mov r10d, 1
jmp 0x1400593a0
mov r10d, 1
nop word [rax + rax]
mov eax, dword [0x141dc7708]
xor eax, dword [0x141dc770c]
or eax, 0x3c97a384
imul eax, eax, 0x6a584065
add eax, 0x1787cc3
cmp eax, 0xea134130
ja 0x1400593a0
mov rax, r10
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret