Function at 0x1800d3f6c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x110
mov rbx, qword [rdx + 0x18]
mov r13, rcx
mov r14, qword [rdx + 0x10]
mov rdi, rdx
movaps xmmword [rax - 0x48], xmm6
mov rcx, rdx
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov qword [rbp - 0x80], r8
cmp rbx, 0x10
jb 0x1800d3fb5
mov rcx, qword [rdx]
mov rdx, r14
call fcn.1800d37a0
mov r9, rax
lea rdx, [rbp - 0x48]
mov r8, rdi
lea rcx, [0x1800f3770]
call fcn.1800d36f8
movabs rsi, 0x7fffffffffffffff
movabs r15, 0x8000000000000000
mov rcx, qword [rax + 8]
mov rax, qword [0x1800f3778]
test rcx, rcx
cmovne rax, rcx
mov ecx, 0x16
cmp rax, qword [0x1800f3778]
jne 0x1800d4132
xorps xmm0, xmm0
mov r12, rdi
movups xmmword [rbp - 0x78], xmm0
cmp rbx, 0x10
jb 0x1800d401e
mov r12, qword [rdi]
cmp r14, rsi
ja 0x1800d4907
cmp r14, 0x10
jae 0x1800d4045
movups xmm0, xmmword [r12]
mov qword [rbp - 0x68], r14
mov qword [rbp - 0x60], 0xf
movdqu xmmword [rbp - 0x78], xmm0
jmp 0x1800d409d
mov rbx, r14
or rbx, 0xf
cmp rbx, rsi
jbe 0x1800d4059
mov rbx, rsi
mov rcx, r15
jmp 0x1800d406d
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800d4074
call fcn.1800282d4
jmp 0x1800d4082
test rcx, rcx
je 0x1800d4080
call fcn.1800dcb48
jmp 0x1800d4082
xor eax, eax
lea r8, [r14 + 1]
mov qword [rbp - 0x78], rax
mov rdx, r12
mov qword [rbp - 0x68], r14
mov rcx, rax
mov qword [rbp - 0x60], rbx
call fcn.1800def68
lea r8, [rbp - 0x78]
mov byte [rbp - 0x58], 1
lea rdx, [rsp + 0x60]
lea rcx, [0x1800f3770]
call fcn.1800d37d4
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x1800d40f1
mov rcx, qword [rbp - 0x78]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d40ec
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d4901
call fcn.1800dcb68
mov rbx, qword [rdi + 0x18]
mov rcx, rdi
cmp rbx, 0x10
jb 0x1800d4101
mov rcx, qword [rdi]
mov rdx, qword [rdi + 0x10]
call fcn.1800d37a0
mov r9, rax
lea rdx, [rbp - 0x38]
mov r8, rdi
lea rcx, [0x1800f3770]
call fcn.1800d36f8
mov rcx, qword [rax + 8]
mov rax, qword [0x1800f3778]
test rcx, rcx
cmovne rax, rcx
movss xmm0, dword [r13 + 0xc]
add rax, 0x30
mov qword [rbp - 0x50], rax
mov rcx, rdi
cmp rbx, 0x10
jb 0x1800d414c
mov rcx, qword [rdi]
movss xmm6, dword [0x180005ff0]
xorps xmm3, xmm3
mov r8b, byte [rax]
xor edx, edx
movss dword [rsp + 0x28], xmm0
xorps xmm8, xmm8
movss dword [rsp + 0x20], xmm6
call fcn.1800ba9e4
and dword [rbp + 0x5c], 0
lea rdx, [rbp + 0x58]
mov ecx, 2
mov dword [rbp + 0x58], 0x41b80000
movaps xmm9, xmm0
call fcn.1800a2c74
cmp qword [rdi + 0x18], 0x10
xorps xmm1, xmm1
mov r14, qword [rdi + 0x10]
mov r12, rdi
movups xmmword [rsp + 0x60], xmm1
jb 0x1800d41a7
mov r12, qword [rdi]
cmp r14, rsi
ja 0x1800d490d
cmp r14, 0x10
jae 0x1800d41d1
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], 0xf
movups xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800d4231
mov rbx, r14
or rbx, 0xf
cmp rbx, rsi
jbe 0x1800d41e5
mov rbx, rsi
mov rcx, r15
jmp 0x1800d41fe
mov eax, 0x16
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1800d4205
call fcn.1800282d4
jmp 0x1800d4213
test rcx, rcx
je 0x1800d4211
call fcn.1800dcb48
jmp 0x1800d4213
xor eax, eax
lea r8, [r14 + 1]
mov qword [rsp + 0x60], rax
mov rdx, r12
mov qword [rsp + 0x70], r14
mov rcx, rax
mov qword [rsp + 0x78], rbx
call fcn.1800def68
mov dword [rbp + 0x58], 0x585c555e
lea r9, [rbp + 0x58]
mov byte [rbp + 0x5c], 0x37
xor r8d, r8d
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, 5
jl 0x1800d4243
or r14, 0xffffffffffffffff
lea rax, [rbp + 0x58]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1800d4275
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.1800328cc
cmp qword [rax + 0x18], 0x10
jb 0x1800d4297
mov rax, qword [rax]
mov r9d, 0x48
lea rdx, [rbp - 0x80]
xor r8d, r8d
mov rcx, rax
call fcn.180097cd4
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800d42e9
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d42e4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d4913
call fcn.1800dcb68
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
jb 0x1800d42f6
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800ca58c
cmp qword [rdi + 0x18], 0x10
mov r12, rdi
movss xmm0, dword [rbp - 0x80]
mov rbx, qword [rdi + 0x10]
movss xmm1, dword [rax + 0x14]
addss xmm1, dword [0x18000cbb0]
movss dword [rbp + 0x68], xmm0
movss dword [rbp + 0x6c], xmm1
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm1
jb 0x1800d4338
mov r12, qword [rdi]
cmp rbx, rsi
ja 0x1800d4919
cmp rbx, 0x10
jae 0x1800d4362
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], 0xf
movups xmm0, xmmword [r12]
movdqu xmmword [rsp + 0x60], xmm0
jmp 0x1800d43c3
mov rax, rbx
or rax, 0xf
cmp rax, rsi
ja 0x1800d438a
mov ecx, 0x16
mov rsi, rax
cmp rax, rcx
cmovb rsi, rcx
lea r15, [rsi + 1]
cmp r15, 0x1000
jb 0x1800d4394
mov rcx, r15
call fcn.1800282d4
jmp 0x1800d43a5
test r15, r15
je 0x1800d43a3
mov rcx, r15
call fcn.1800dcb48
jmp 0x1800d43a5
xor eax, eax
lea r8, [rbx + 1]
mov qword [rsp + 0x60], rax
mov rdx, r12
mov qword [rsp + 0x70], rbx
mov rcx, rax
mov qword [rsp + 0x78], rsi
call fcn.1800def68
mov dword [rbp + 0x58], 0x5254515b
lea r9, [rbp + 0x58]
mov word [rbp + 0x5c], 0x4a52
xor r8d, r8d
mov byte [rbp + 0x5e], 0x39
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, 7
jl 0x1800d43db
lea rax, [rbp + 0x58]
mov r8, r14
inc r8
cmp byte [rax + r8], 0
jne 0x1800d4409
lea rdx, [rbp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.1800328cc
cmp qword [rax + 0x18], 0x10
jb 0x1800d442b
mov rax, qword [rax]
mov r9d, 0x80
lea rdx, [rbp + 0x68]
xor r8d, r8d
mov rcx, rax
call fcn.180097cd4
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800d447d
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d4478
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d491f
call fcn.1800dcb68
call fcn.18009c99c
cmp qword [rdi + 0x18], 0x10
mov r15, rax
mov rsi, rdi
jb 0x1800d4492
mov rsi, qword [rdi]
movaps xmm1, xmm6
mov ecx, 1
call fcn.18009bd10
lea rcx, [rbp + 0x68]
mov r12d, eax
call fcn.18009c9d4
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
movss xmm1, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm1, dword [0x18000cb50]
addss xmm0, dword [0x18000cd88]
movss dword [rbp + 0x5c], xmm1
movss dword [rbp + 0x58], xmm0
jb 0x1800d44db
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800ca58c
cmp qword [rdi + 0x18], 0x10
mov rbx, rax
mov r8, rdi
jb 0x1800d44f8
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800ca58c
and qword [rsp + 0x40], 0
lea r9, [rbp + 0x58]
movss xmm2, dword [rbx + 0x14]
mov rdx, rax
movss dword [rsp + 0x38], xmm8
mov rcx, r15
and qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], r12d
call fcn.1800ae248
call fcn.18009c99c
mov rcx, qword [0x1800ebb60]
mov rbx, rax
movss xmm2, dword [rcx + 0x37e0]
lea rcx, [rsp + 0x50]
mulss xmm2, xmm9
mov dword [rsp + 0x50], 0x3e3cbcbd
mov dword [rsp + 0x54], 0x3e44c4c5
mov dword [rsp + 0x58], 0x3e4ccccd
movss dword [rsp + 0x5c], xmm2
call fcn.180099db0
mov rdx, qword [0x1800ebb60]
lea r8, [rsp + 0x68]
mov r9d, eax
mov rcx, qword [rdx + 0x3eb0]
mov byte [rcx + 0xb0], 1
mov rcx, qword [rdx + 0x3eb0]
lea rdx, [rbp + 0x58]
movss xmm0, dword [rcx + 0x18]
movss xmm1, dword [rcx + 0x20]
movss xmm2, dword [rcx + 0x1c]
addss xmm1, xmm0
movss xmm3, dword [rcx + 0x24]
mov rcx, qword [0x1800ebb60]
addss xmm3, xmm2
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0x64], xmm2
movss dword [rsp + 0x68], xmm1
movss dword [rsp + 0x6c], xmm3
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, qword [0x1800ebb60]
movss xmm1, dword [rax + 0x18]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
mov rcx, rbx
movss xmm0, dword [rax + 0x24]
addss xmm0, dword [rax + 0x1c]
movss dword [rbp + 0x58], xmm1
movss dword [rbp + 0x5c], xmm0
movss xmm0, dword [0x180006038]
movss dword [rsp + 0x20], xmm0
call fcn.1800ad040
xor ebx, ebx
mov dword [rbp + 0x58], 0x54545a76
mov r8d, ebx
mov word [rbp + 0x5c], 0x5d5b
mov byte [rbp + 0x5e], 0x39
lea r9, [rbp + 0x58]
mov esi, 0x51eb851f
mov eax, esi
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, 7
jl 0x1800d465c
call fcn.18009c9f0
movss xmm1, dword [0x180006124]
lea rdx, [rbp + 0x58]
movaps xmm6, xmm0
movss dword [rsp + 0x20], xmm1
subss xmm6, dword [0x18000cda8]
xor r9d, r9d
lea rcx, [rsp + 0x50]
xor r8d, r8d
call fcn.180098f14
subss xmm6, dword [rax]
call fcn.18009c9c0
mulss xmm0, dword [0x180005fdc]
lea rcx, [rbp + 0x68]
movss dword [rbp + 0x68], xmm6
subss xmm0, dword [0x18000cba8]
movss dword [rbp + 0x6c], xmm0
call fcn.1800a5990
mov r8d, ebx
mov dword [rsp + 0x50], 0x54545a76
lea r9, [rsp + 0x50]
mov dword [rsp + 0x54], 0x191a5d5b
mov byte [rsp + 0x58], 0x3b
mov eax, esi
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, 9
jl 0x1800d46fb
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
xorps xmm1, xmm1
movups xmmword [rsp + 0x60], xmm0
movdqu xmmword [rsp + 0x70], xmm1
inc r14
cmp byte [rax + r14], bl
jne 0x1800d4735
mov r8, r14
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.180028458
cmp qword [rdi + 0x18], 0x10
mov rdx, rdi
jb 0x1800d475d
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
lea rcx, [rsp + 0x60]
call fcn.1800328cc
cmp qword [rax + 0x18], 0x10
jb 0x1800d4775
mov rax, qword [rax]
mov r8, qword [rbp - 0x50]
mov rdx, rax
mov rcx, r13
call fcn.1800d91b0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x1800d47c1
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800d47bc
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800d48fb
call fcn.1800dcb68
call fcn.18009a48c
cmp qword [rdi + 0x18], 0x10
mov r8, rdi
jb 0x1800d47d3
mov r8, qword [rdi]
mov edx, 2
mov rcx, r13
call fcn.1800ca58c
movss xmm0, dword [rax + 0x14]
addss xmm0, dword [0x18000cbb0]
call fcn.1800a59e4
and dword [rbp + 0x5c], ebx
mov rcx, rdi
cmp qword [rdi + 0x18], 0x10
mov dword [rbp + 0x58], 0xbf800000
jb 0x1800d4809
mov rcx, qword [rdi]
mov r9d, 0x10098
lea rdx, [rbp + 0x58]
xor r8d, r8d
call fcn.180097cd4
movss xmm0, dword [rbp - 0x7c]
ucomiss xmm0, xmm8
movss xmm1, dword [rbp - 0x80]
jp 0x1800d484e
jne 0x1800d484e
mov rcx, qword [0x1800ebb60]
mov rax, qword [rcx + 0x3eb0]
mov byte [rax + 0xb0], 1
mov rax, qword [rcx + 0x3eb0]
movss xmm0, dword [rax + 0x34]
mulss xmm0, xmm9
lea rcx, [rbp + 0x58]
xor edx, edx
movss dword [rbp + 0x58], xmm1
addss xmm0, dword [0x18000cb88]
movss dword [rbp + 0x5c], xmm0
call fcn.1800a61e0
call fcn.1800982e4
and dword [rbp + 0x5c], ebx
lea rdx, [rbp + 0x58]
mov ecx, 0xe
mov dword [rbp + 0x58], 0x41200000
call fcn.1800a2c74
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x1800d48c3
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x1800d48be
mov r8, qword [rcx - 8]
add rdx, 0x27
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x1800d4901
mov rcx, r8
call fcn.1800dcb68
lea r11, [rsp + 0x110]
mov qword [rdi + 0x10], rbx
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov byte [rdi], bl
mov rbx, qword [r11 + 0x40]
mov qword [rdi + 0x18], 0xf
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800a5e1c
int3
call fcn.1800a5e1c
int3
call fcn.180031f64
int3
call fcn.180031f64
int3
call fcn.1800a5e1c
int3
call fcn.180031f64
int3
call fcn.1800a5e1c
int3