Function at 0x18005ea10
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
lea rbp, [rax - 0x57]
sub rsp, 0xd8
movdqa xmm0, xmmword [0x1800ada00]
mov rbx, r8
mov qword [rax + 0x18], rsi
mov rsi, rdx
mov qword [rax - 0x18], rdi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov r13, r9
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov rax, rcx
mov ecx, dword [rbp + 0x7f]
mov r14d, ecx
imul edi, ecx, 0x4da
movdqu xmmword [rbp - 9], xmm0
mov byte [rbp - 0x19], 0
mov dword [rbp - 0x31], edi
cmp ecx, edi
ja 0x18005ee34
mov r15, qword [rbp - 0x39]
movabs r9, 0x8000000000000000
mov rdi, qword [rbp - 0x39]
mov r12, qword [rbp - 0x39]
xor edx, edx
cmp r14d, 0x9c
ja 0x18005ed5b
je 0x18005ec22
cmp r14d, 0x30
je 0x18005eb4b
cmp r14d, 0x3e
je 0x18005eeac
cmp r14d, 0x45
je 0x18005eb42
cmp r14d, 0x5e
jne 0x18005ee18
mov qword [rsp + 0x38], rdx
xor r9d, r9d
mov dword [rsp + 0x30], 0xe3
mov r8, rbx
mov qword [rsp + 0x28], rdx
xor ecx, ecx
mov qword [rsp + 0x20], rdx
call fcn.180013210
test al, al
je 0x18005ee30
lea rax, [rbp - 0x19]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea ecx, [r14 - 0x41]
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rdx, rbx
call fcn.18005a220
test al, al
je 0x18005ee30
lea r9, [rbp - 0x19]
lea r8, [0x1800c8cd0]
lea edx, [r14 + 0x5d]
lea rcx, [0x1800c8cc0]
call fcn.180010380
mov byte [rbp - 0x49], al
jmp 0x18005ee0b
mov word [rbx + 8], dx
jmp 0x18005ee18
mov r8, qword [rax]
mov r15, rdx
mov edx, 1
lea rax, [r8 - 1]
cmp r8, rdx
jbe 0x18005ee18
cmp rax, 4
jb 0x18005ebf2
movdqa xmm3, xmmword [0x1800adb10]
and eax, 3
mov rcx, r8
xorps xmm2, xmm2
sub rcx, rax
xorps xmm4, xmm4
lea rax, [rbx + 0x18]
nop dword [rax + rax]
movdqu xmm1, xmmword [rax - 0x18]
add rdx, 4
movdqu xmm0, xmmword [rax - 0x10]
lea rax, [rax + 0x20]
paddq xmm1, xmm3
paddq xmm0, xmm3
pxor xmm1, xmm0
por xmm1, xmm2
movdqa xmm2, xmm1
movdqu xmm1, xmmword [rax - 0x28]
movdqu xmm0, xmmword [rax - 0x20]
paddq xmm1, xmm3
paddq xmm0, xmm3
pxor xmm1, xmm0
por xmm1, xmm4
movdqa xmm4, xmm1
cmp rdx, rcx
jb 0x18005eb90
mov ecx, dword [rbp + 0x7f]
por xmm2, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 8
por xmm2, xmm0
movq r15, xmm2
cmp rdx, r8
jae 0x18005ee18
nop dword [rax + rax]
mov rcx, qword [rbx + rdx*8 - 8]
mov rax, qword [rbx + rdx*8]
sub rcx, r9
sub rax, r9
inc rdx
xor rcx, rax
or r15, rcx
cmp rdx, r8
jb 0x18005ec00
jmp 0x18005ee15
test rbx, rbx
je 0x18005eef0
test rax, rax
je 0x18005eed9
cmp qword [rsi], 0
je 0x18005eed9
mov r8, qword [rbx]
cmp r8, rax
jne 0x18005ed20
mov esi, 0x54
nop
mov eax, esi
sub eax, 0x52
je 0x18005ecb0
sub eax, 1
je 0x18005ec7f
cmp eax, 1
jne 0x18005ed0c
mov r9, qword [rbx]
xor r8d, r8d
mov edx, 0x103
xor ecx, ecx
call fcn.180059950
mov r12, rax
jmp 0x18005ed0c
mov rdx, qword [rbx]
xor r9d, r9d
xor ecx, ecx
lea r8d, [r9 + 0x58]
call fcn.18006b6d0
mov rcx, qword [r13]
mov rdi, rax
cmp rcx, rax
jae 0x18005eed9
mov rax, qword [rbp + 0x67]
sub rdi, rcx
cmp rdi, qword [rax]
cmovae rdi, qword [rax]
jmp 0x18005ed0c
mov rdx, qword [r13]
mov r8, rdi
add rdx, r12
mov rcx, r12
call fcn.18007ce90
mov r8, qword [rbx]
lea rcx, [rbp - 0x41]
mov edx, 0xe6
mov qword [rbp - 0x41], rdi
call fcn.180071590
mov rax, qword [rbx]
xor ecx, ecx
mov qword [rsp + 0x38], rcx
xor r9d, r9d
mov qword [rsp + 0x30], rax
xor edx, edx
mov qword [rsp + 0x28], rcx
lea rax, [rbp - 0x51]
lea rcx, [rbp + 0xf]
mov qword [rsp + 0x20], rax
mov r8d, 0xa7
mov byte [rbp - 0x51], 0
call fcn.180049f50
dec esi
cmp esi, 0x51
ja 0x18005ec50
mov rsi, qword [rbp + 0x67]
jmp 0x18005ee0b
mov edx, 0xc1
xor ecx, ecx
call fcn.1800502a0
mov rax, qword [rsi]
lea r9, [rbp - 0x41]
mov r8, qword [rbp + 0x5f]
lea rcx, [rbp - 0x29]
mov qword [rbp - 0x41], rax
mov edx, 0x6d
mov rax, qword [r13]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], rbx
call fcn.18001f920
jmp 0x18005ee0b
cmp r14d, 0x1a10
je 0x18005edba
cmp r14d, 0x2577
je 0x18005eda7
cmp r14d, 0x330a
je 0x18005ee34
cmp r14d, 0x54b4
jne 0x18005ee18
mov qword [rsp + 0x20], rdx
mov r9d, 0x58
xor edx, edx
xor r8d, r8d
mov rcx, rbx
call fcn.18005ae90
mov rbx, rax
jmp 0x18005ee38
mov rax, qword [rbx]
mov byte [rax], 0
mov rax, qword [rbx + 0x10]
mov byte [rbx + 0xa], 0
mov word [rax], dx
jmp 0x18005ee18
test r15, r15
je 0x18005ee18
mov qword [rsp + 0x20], rdx
xor r9d, r9d
lea rdx, [rbp - 0x29]
mov qword [rbp - 0x29], r15
mov r8d, 0xf2
xor ecx, ecx
call fcn.18002c4f0
mov rcx, qword [rbp + 0x5f]
lea r9, [rbp - 0x41]
lea r8, [rbp - 0x21]
mov qword [rbp - 0x21], rax
mov rdx, rbx
mov qword [rbp - 0x41], r15
mov dword [rsp + 0x20], 0x10b
mov rcx, qword [rcx]
mov qword [rbp - 0x39], rcx
lea rcx, [rbp - 0x39]
call fcn.18006a630
movabs r9, 0x8000000000000000
mov ecx, dword [rbp + 0x7f]
imul eax, ecx, 0x8a
add r14d, eax
cmp r14d, dword [rbp - 0x31]
ja 0x18005ee34
mov rax, qword [rbp + 0x5f]
jmp 0x18005ea8a
mov byte [rbp - 0x49], 0
mov rbx, qword [rbp - 0x49]
mov rdx, qword [rbp - 1]
mov r15, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xd0]
mov rsi, qword [rsp + 0x100]
cmp rdx, 0x10
jb 0x18005ee9f
mov rcx, qword [rbp - 0x19]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005ee9a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005eefc
call fcn.18007bed0
mov rax, rbx
add rsp, 0xd8
pop rbx
pop rbp
ret
mov eax, dword [rax]
mov r9d, 0xef
mov dword [rbp + 0x7f], eax
mov r8, rbx
lea rax, [rbp + 0x7f]
xor ecx, ecx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdx
xor edx, edx
call fcn.1800142c0
mov byte [rbp - 0x49], al
jmp 0x18005ee34
mov rdx, qword [rbx]
xor r8d, r8d
lea ecx, [r8 + 0x5b]
call fcn.180071050
mov rbx, rax
jmp 0x18005ee38
mov rbx, qword [0x1800c7780]
jmp 0x18005ee38
call fcn.180080234
int3