Function at 0x1800d3e74
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
cmp qword [r8 + 0x18], 0x10
mov rdi, r9
mov rbx, r8
mov r14, rdx
jb 0x1800d3ea6
mov r8, qword [r8]
mov edx, 0x84222325
xor r15d, r15d
jmp 0x1800d3ebe
movsx eax, al
xor eax, edx
imul edx, eax, 0x1b3
inc r8
mov al, byte [r8]
test al, al
jne 0x1800d3eb0
mov r8d, edx
lea rdx, [rbp - 1]
call fcn.1800d4df8
cmp qword [rbp + 0xf], r15
jne 0x1800d3eec
mov rdx, rdi
mov rcx, r14
call fcn.1800d5bf8
mov esi, 0x1000
jmp 0x1800d405c
mov word [rbp + 0x77], 0x3408
lea r9, [rbp + 0x77]
mov r8d, r15d
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r8b
inc r8d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r8d, 2
jl 0x1800d3ef9
xorps xmm0, xmm0
lea rax, [rbp + 0x77]
xorps xmm1, xmm1
or r8, 0xffffffffffffffff
movups xmmword [rbp + 0x1f], xmm0
movdqu xmmword [rbp + 0x2f], xmm1
inc r8
cmp byte [rax + r8], r15b
jne 0x1800d3f37
lea rdx, [rbp + 0x77]
lea rcx, [rbp + 0x1f]
call fcn.180029868
lea r8, [rbp + 0x1f]
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x19]
call fcn.1800d5860
mov rdx, qword [rbp + 0x37]
mov esi, 0x1000
cmp rdx, 0x10
jb 0x1800d3f9a
mov rcx, qword [rbp + 0x1f]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800d3f95
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d40fd
call fcn.1800e423c
mov rax, qword [rbp - 0x11]
sub rax, qword [rbp - 0x19]
and rax, 0xffffffffffffffe0
cmp rax, 0x80
je 0x1800d3fb6
mov rdx, rdi
jmp 0x1800d404b
lea rcx, [rbp - 0x29]
call fcn.1800d5c84
mov rcx, qword [rbp - 0x19]
cmp qword [rcx + 0x18], 0x10
jb 0x1800d3fcd
mov rcx, qword [rcx]
call fcn.1800e5d04
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x20
movss dword [rbp - 0x29], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800d3ff0
mov rcx, qword [rcx]
call fcn.1800e5d04
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x40
movss dword [rbp - 0x25], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800d4013
mov rcx, qword [rcx]
call fcn.1800e5d04
mov rcx, qword [rbp - 0x19]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
add rcx, 0x60
movss dword [rbp - 0x21], xmm1
cmp qword [rcx + 0x18], 0x10
jb 0x1800d4036
mov rcx, qword [rcx]
call fcn.1800e5d04
xorps xmm1, xmm1
lea rdx, [rbp - 0x29]
cvtsd2ss xmm1, xmm0
movss dword [rbp - 0x1d], xmm1
mov rcx, r14
call fcn.1800d5bf8
lea rcx, [rbp - 0x19]
call fcn.180032e78
mov rdx, qword [rbp + 0x17]
cmp rdx, 0x10
jb 0x1800d408f
mov rcx, qword [rbp - 1]
inc rdx
mov rax, rcx
cmp rdx, rsi
jb 0x1800d408a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d40fd
call fcn.1800e423c
mov rdx, qword [rbx + 0x18]
mov edi, 0xf
mov qword [rbp + 0xf], r15
mov qword [rbp + 0x17], rdi
mov byte [rbp - 1], r15b
cmp rdx, 0x10
jb 0x1800d40d2
mov rcx, qword [rbx]
inc rdx
cmp rdx, rsi
jb 0x1800d40cd
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800d40fd
mov rcx, r8
call fcn.1800e423c
mov byte [rbx], r15b
lea r11, [rsp + 0x90]
mov rsi, qword [r11 + 0x28]
mov rax, r14
mov qword [rbx + 0x18], rdi
mov rdi, qword [r11 + 0x38]
mov qword [rbx + 0x10], r15
mov rbx, qword [r11 + 0x20]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.1800ad4f0
int3