Function at 0x1800d5060
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x20], rsi
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
mov r14, r8
mov rsi, rdx
mov r15, rcx
xor r12d, r12d
mov r9, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1800d50a0
mov r9, qword [rdx]
mov edi, 0x84222325
movzx eax, byte [r9]
test al, al
je 0x1800d50c7
nop dword [rax]
movsx eax, al
xor eax, edi
imul edi, eax, 0x1b3
lea r9, [r9 + 1]
movzx eax, byte [r9]
test al, al
jne 0x1800d50b0
movss xmm6, dword [r8 + 0xc]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x180100930]
call fcn.1800d7420
movsxd rbx, eax
mov qword [rbp - 0x80], r12
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp - 0x80]
call fcn.1800d5df0
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 0x10
cmovae rcx, qword [rbp - 0x80]
lea rdx, [rbx + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x180100930]
call fcn.180090f00
nop
movss xmm6, dword [r14 + 8]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x180100930]
call fcn.1800d7420
movsxd rbx, eax
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.1800d5df0
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 0x10
cmovae rcx, qword [rsp + 0x60]
lea rdx, [rbx + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x180100930]
call fcn.180090f00
nop
movss xmm6, dword [r14 + 4]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x180100930]
call fcn.1800d7420
movsxd rbx, eax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1800d5df0
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae rcx, qword [rsp + 0x40]
lea rdx, [rbx + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x180100930]
call fcn.180090f00
nop
movss xmm6, dword [r14]
cvtps2pd xmm6, xmm6
movaps xmm1, xmm6
movq rdx, xmm6
lea rcx, [0x180100930]
call fcn.1800d7420
movsxd rbx, eax
mov qword [rsp + 0x20], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1800d5df0
lea rcx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rcx, qword [rsp + 0x20]
lea rdx, [rbx + 1]
movaps xmm3, xmm6
movq r9, xmm6
lea r8, [0x180100930]
call fcn.180090f00
nop
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
cmp rcx, rdx
jae 0x1800d52b5
lea rax, [rcx + 1]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x20]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x20]
mov word [rax + rcx], 0x3b
jmp 0x1800d52cf
mov r9b, 0x3b
movzx r8d, byte [rbp + 0xa8]
mov edx, 1
lea rcx, [rsp + 0x20]
call fcn.1800d4300
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rsp + 0x30]
movups xmmword [rbp - 0x10], xmm1
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x20]
movzx edx, byte [rbp + 0xa8]
lea rcx, [rbp - 0x60]
call fcn.1800d5820
nop
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
cmp rcx, rdx
jae 0x1800d5338
lea rax, [rcx + 1]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x60]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x60]
mov word [rax + rcx], 0x3b
jmp 0x1800d5351
mov r9b, 0x3b
movzx r8d, byte [rbp + 0xa8]
mov edx, 1
lea rcx, [rbp - 0x60]
call fcn.1800d4300
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rbp - 0x50]
movups xmmword [rbp + 0x30], xmm1
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], 0xf
mov byte [rbp - 0x60], 0
lea r9, [rsp + 0x60]
lea r8, [rbp + 0x20]
movzx edx, byte [rbp + 0xa8]
lea rcx, [rbp - 0x40]
call fcn.1800d5820
nop
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
cmp rcx, rdx
jae 0x1800d53b5
lea rax, [rcx + 1]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x40]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x40]
mov word [rax + rcx], 0x3b
jmp 0x1800d53ce
mov r9b, 0x3b
movzx r8d, byte [rbp + 0xa8]
mov edx, 1
lea rcx, [rbp - 0x40]
call fcn.1800d4300
movups xmm0, xmmword [rbp - 0x40]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x10], xmm1
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], 0xf
mov byte [rbp - 0x40], 0
lea r9, [rbp - 0x80]
lea r8, [rbp]
movzx edx, byte [rbp + 0xa8]
lea rcx, [rbp + 0x40]
call fcn.1800d5820
nop
mov rdx, qword [rbp + 0x18]
cmp rdx, 0x10
jb 0x1800d5443
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d543d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d5656
call fcn.1800e6850
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, 0x10
jb 0x1800d547f
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d5479
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d565c
call fcn.1800e6850
nop
mov rdx, qword [rbp - 8]
cmp rdx, 0x10
jb 0x1800d54bb
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d54b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d5662
call fcn.1800e6850
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1800d54f8
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d54f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d5668
call fcn.1800e6850
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x1800d5548
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d5543
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d566e
call fcn.1800e6850
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], 0xf
mov byte [rsp + 0x40], 0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800d5598
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d5593
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d5674
call fcn.1800e6850
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x1800d55e2
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d55dd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d5650
call fcn.1800e6850
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], 0xf
mov byte [rbp - 0x80], 0
lea rdx, [rbp + 0x40]
lea rcx, [rbp - 0x20]
call fcn.18002c8f0
mov r8, rax
mov edx, edi
mov rcx, r15
call fcn.1800d6670
nop
mov r8, qword [rbp + 0x58]
cmp r8, 0x10
jb 0x1800d5628
inc r8
mov rdx, qword [rbp + 0x40]
lea rcx, [rbp + 0x40]
call fcn.1800d5f60
nop
mov rcx, rsi
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
jmp fcn.18002e620
call fcn.18005beb0
nop
call fcn.18005beb0
nop
call fcn.18005beb0
nop
call fcn.18005beb0
nop
call fcn.18005beb0
nop
call fcn.18005beb0
nop
call fcn.18005beb0
int3