Function at 0x20075800
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rbx, qword [rcx + 0x10]
movabs rdi, 0x7fffffffffffffff
mov rax, rbx
xor rax, rdi
cmp rax, rdx
jb 0x20075a00
mov r15, rdx
mov rsi, rcx
mov eax, dword [0x205b3514]
cmp eax, 0x46
nop dword [rax]
mov eax, 0xf3dea18
add eax, dword [0x205338c8]
lea rcx, [fcn.20075800]
add ecx, ecx
add ecx, 0x120
mov edx, ecx
xor edx, eax
or eax, ecx
not eax
or eax, edx
cmp eax, 0xffffffff
jne 0x20075850
add r15, rbx
mov r14, qword [rsi + 0x18]
mov rax, qword [0x205338c0]
mov rcx, rax
not rcx
movabs rdx, 0xdbc37c381ac81436
and rdx, rax
movabs r8, 0x243c83c7e537ebc9
movabs r10, 0x5bc37c381ac81436
and r10, rcx
and rcx, r8
or rcx, rdx
xor rax, r8
or r10, rax
not r10
lea rax, [rcx + r10*2]
or rax, r15
mov qword [rbp - 8], r9
js 0x20075922
mov ecx, dword [0x205b3510]
mov edx, dword [0x205338c8]
add edx, ecx
add edx, 0xa6044af6
imul edx, ecx
test dl, 1
nop word [rax + rax]
mov r8, qword [0x205338c0]
lea ecx, [r8 - 0x45]
mov rdx, r14
shr rdx, cl
cmp dword [0x205338c8], 0xf0c215e9
jne 0x200758f0
movabs rcx, 0xa43c83c7e537ebb9
add r8, rcx
xor r8, rdx
cmp r8, r14
jae 0x20075994
movabs r13, 0x8000000000000000
mov eax, dword [0x205b3514]
mov ecx, 0xf3dea36
add ecx, dword [0x205338c8]
cmp eax, ecx
jge 0x20075a05
lea rcx, [r13 + 0x27]
mov edx, 0x507d971f
mov r8d, 0xc5f7ed3f
call fcn.2008daf0
lea rcx, [rax + 0x27]
movabs r12, 0x243c83c7e537eb9a
add r12, qword [0x205338c0]
and r12, rcx
mov qword [r12 - 8], rax
mov eax, dword [0x205b3514]
cmp eax, 0x1b
jge 0x20075a05
xor eax, eax
test al, al
jne 0x20075ae0
jmp 0x20075aca
add rdx, r14
cmp rax, rdx
mov rdi, rdx
cmova rdi, rax
lea r13, [rdi + 1]
cmp r13, 0x1000
jb 0x200759bd
cmp r13, 0xffffffffffffffd9
jb 0x2007592c
call fcn.20067710
test r13, r13
je 0x200759f4
mov r8d, dword [0x205338c8]
mov eax, r8d
neg eax
mov ecx, eax
xor ecx, 0xa0447eca
and eax, 0x20447eca
lea edx, [rcx + rax*2]
neg edx
add r8d, 0xd535d756
mov rcx, r13
call fcn.2008daf0
mov r12, rax
jmp 0x20075985
mov rdi, 0xffffffffffffffff
xor r12d, r12d
jmp 0x20075985
call fcn.20069c50
movzx ecx, byte [0x205338c0]
add cl, 0xe1
mov rax, r13
shl rax, cl
mov rdx, r13
mov ecx, eax
shl rdx, cl
mov rax, r13
neg rax
lea rcx, [r13 - 1]
xor rcx, rax
and rcx, rdx
xor rcx, rax
and rax, rdx
lea rax, [rcx + rax*2]
movabs rcx, 0xa5836e07216bd0e4
xor rcx, r13
movabs rdx, 0x25836e07216bd0e4
and rdx, r13
lea rcx, [rcx + rdx*2]
sub rcx, rax
movabs rdx, 0x5a7c91f8de942f1c
add rdx, rcx
imul rdx, rax
mov r8, rax
sub r8, rdx
mov ecx, r8d
neg ecx
lea edx, [r8 - 1]
and edx, eax
not eax
mov r9d, ecx
and r9d, eax
or r9d, edx
xor eax, ecx
and eax, ecx
lea ecx, [r9 + rax*2]
mov rax, r8
shl rax, cl
mov rdx, r8
mov ecx, eax
shl rdx, cl
sub rdx, r8
mov ecx, edx
shl r8, cl
mov rcx, rdx
sub rcx, r8
neg r8
imul r8, rdx
sub rcx, r8
imul rcx, r8
add rcx, r8
mov edx, 0x507d971f
mov r8d, 0xc5f7ed3f
call fcn.2008daf0
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], rdi
mov eax, dword [0x205b3514]
cmp eax, 0x2b
jl 0x20075b19
nop dword [rax]
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], rdi
mov eax, dword [0x205b3510]
mov ecx, dword [0x205338c8]
lea edx, [rcx + rax]
add edx, 0xf3dea18
imul edx, eax
and edx, 1
mov eax, ecx
xor eax, 0xf3dea17
and ecx, 0xf3dea17
lea eax, [rax + rcx*2]
cmp edx, eax
jne 0x20075ae0
jmp 0x20075aca
cmp r14, 0x10
jb 0x20075ba7
mov r15, qword [rsi]
mov rcx, r12
mov rdx, r15
mov r8, rbx
call fcn.2044f800
lea rcx, [r12 + rbx]
movzx edx, byte [rbp + 0x70]
mov rdi, qword [rbp - 8]
mov r8, rdi
call fcn.2044feb0
mov rax, rbx
xor rax, rdi
and rbx, rdi
lea rax, [rax + rbx*2]
mov byte [r12 + rax], 0
mov rax, qword [0x205338c0]
add rax, r14
movabs rdx, 0x243c83c7e537ebbb
add rdx, rax
cmp rdx, 0x1000
jb 0x20075b9d
mov rax, qword [r15 - 8]
sub r15, rax
add r15, 0xfffffffffffffff8
cmp r15, 0x20
jae 0x20075be8
mov rcx, r14
xor rcx, 0x28
and r14d, 0x28
lea rdx, [rcx + r14*2]
mov r15, rax
mov rcx, r15
call fcn.2008bfb0
jmp 0x20075bd1
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.2044f800
lea rcx, [r12 + rbx]
movzx edx, byte [rbp + 0x70]
mov rdi, qword [rbp - 8]
mov r8, rdi
call fcn.2044feb0
add rbx, rdi
mov byte [r12 + rbx], 0
mov qword [rsi], r12
mov rax, rsi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.20407a4c
int3