Function at 0x1800e23f0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movsd xmm1, qword [rbp + 0x50]
xor r11d, r11d
ucomisd xmm1, xmm1
mov ebx, dword [rbp + 0x58]
mov rsi, r9
mov r14, r8
mov r15, rdx
mov r12, rcx
mov r10d, r11d
movaps xmm3, xmm1
jnp 0x1800e2497
mov dword [rbp + 0x50], 0x365b555d
lea r8, [rbp + 0x50]
mov eax, 0x51eb851f
mul r11d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r11b
inc r11d
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp r11d, 4
jl 0x1800e243d
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], 3
mov qword [rsp + 0x20], rax
mov r8, r14
mov rdx, r15
mov rcx, r12
call fcn.1800e2f9c
jmp 0x1800e2810
movsd xmm0, qword [0x18000cbe0]
comisd xmm0, xmm1
jbe 0x1800e24f8
mov dword [rbp + 0x50], 0x1b5c5a55
lea r8, [rbp + 0x50]
mov byte [rbp + 0x54], 0x37
mov eax, 0x51eb851f
mul r11d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r11b
inc r11d
sub al, cl
add al, 0x33
xor byte [r8], al
inc r8
cmp r11d, 5
jl 0x1800e24b4
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x30], eax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], 4
jmp 0x1800e247f
comisd xmm1, xmmword [0x18000cbb0]
jbe 0x1800e25b2
mov r10d, dword [rbp + 0x68]
mov ecx, r10d
and ecx, 4
mov eax, ecx
neg eax
sbb r8, r8
neg r8
add r8, 3
test ecx, ecx
je 0x1800e255e
mov dword [rbp + 0x50], 0x1d5c5a55
lea r9, [rbp + 0x50]
mov byte [rbp + 0x54], 0x37
mov eax, 0x51eb851f
mul r11d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r11b
inc r11d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r11d, 5
jl 0x1800e2531
lea rcx, [rbp + 0x50]
jmp 0x1800e2594
mov dword [rbp + 0x50], 0x365c5a55
lea r9, [rbp + 0x50]
mov eax, 0x51eb851f
mul r11d
shr edx, 4
movsx eax, dl
imul ecx, eax, 0x32
mov al, r11b
inc r11d
sub al, cl
add al, 0x33
xor byte [r9], al
inc r9
cmp r11d, 4
jl 0x1800e2569
lea rcx, [rbp + 0x50]
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], rcx
mov r9, rsi
jmp 0x1800e2484
comisd xmm1, xmmword [0x18000cf38]
ja 0x1800e27f3
movsd xmm0, qword [0x18000cf50]
comisd xmm0, xmm1
ja 0x1800e27f3
xorps xmm2, xmm2
comisd xmm2, xmm1
jbe 0x1800e25e5
xorps xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm0
mov edi, dword [rbp + 0x68]
mov r8d, 6
comisd xmm2, xmm3
seta r13b
bt edi, 0xa
cmovb r8d, ebx
cmp r8d, 9
jbe 0x1800e2616
mov byte [rbp + r10 - 0x20], 0x30
dec r8d
inc r10
cmp r10, 0x20
jb 0x1800e25fe
movsd xmm3, qword [0x180005ff8]
lea rax, [0x18000ce00]
cvttsd2si ebx, xmm1
movaps xmm2, xmm1
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
subsd xmm2, xmm0
xorps xmm0, xmm0
mulsd xmm2, qword [rax + r8*8]
cvttsd2si r9, xmm2
mov eax, r9d
cvtsi2sd xmm0, rax
subsd xmm2, xmm0
comisd xmm2, xmm3
jbe 0x1800e2693
lea edx, [r9 + 1]
xorps xmm0, xmm0
mov eax, edx
lea r9, [0x18000ce00]
cvtsi2sd xmm0, rax
mov eax, r11d
comisd xmm0, xmmword [r9 + r8*8]
cmovb eax, edx
lea rdx, [0x18000ce00]
comisd xmm0, xmmword [rdx + r8*8]
mov r9d, eax
lea eax, [rbx + 1]
cmovb eax, ebx
mov ebx, eax
jmp 0x1800e26a7
comisd xmm3, xmm2
ja 0x1800e26a7
test r9d, r9d
je 0x1800e26a4
test r9b, 1
je 0x1800e26a7
inc r9d
test r8d, r8d
jne 0x1800e26d2
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
comisd xmm3, xmm1
ja 0x1800e276e
test bl, 1
je 0x1800e276e
inc ebx
jmp 0x1800e276e
cmp r10, 0x20
jae 0x1800e2774
mov eax, 0xcccccccd
dec r8d
mul r9d
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [rax + rdx]
add cl, cl
sub r9b, cl
add r9b, 0x30
mov byte [rbp + r10 - 0x20], r9b
inc r10
mov r9d, edx
test edx, edx
je 0x1800e2729
cmp r10, 0x20
jb 0x1800e26dc
jmp 0x1800e2729
mov eax, r8d
lea rcx, [rbp - 0x20]
add rcx, r10
dec r8d
inc r10
test eax, eax
je 0x1800e2731
mov byte [rcx], 0x30
cmp r10, 0x20
jb 0x1800e2712
jmp 0x1800e2774
mov byte [rcx], 0x2e
jmp 0x1800e276e
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov al, dl
shl al, 2
add dl, al
mov al, bl
add dl, dl
sub al, dl
add al, 0x30
mov byte [rbp + r10 - 0x20], al
mov eax, 0xcccccccd
mul ebx
inc r10
mov ebx, edx
shr ebx, 3
test ebx, ebx
je 0x1800e2774
cmp r10, 0x20
jb 0x1800e2736
mov eax, edi
and al, 3
cmp al, 1
mov eax, dword [rbp + 0x60]
jne 0x1800e27a8
test eax, eax
je 0x1800e2790
test r13b, r13b
jne 0x1800e278e
test dil, 0xc
je 0x1800e2790
dec eax
mov ecx, eax
jmp 0x1800e27a3
cmp r10, 0x20
jae 0x1800e27d8
mov byte [rbp + r10 - 0x20], 0x30
inc r10
cmp r10, rcx
jb 0x1800e2794
cmp r10, 0x20
jae 0x1800e27d8
test r13b, r13b
je 0x1800e27bb
mov byte [rbp + r10 - 0x20], 0x2d
jmp 0x1800e27d5
test dil, 4
je 0x1800e27c9
mov byte [rbp + r10 - 0x20], 0x2b
jmp 0x1800e27d5
test dil, 8
je 0x1800e27d8
mov byte [rbp + r10 - 0x20], 0x20
inc r10
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], eax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x20], rax
jmp 0x1800e25aa
mov eax, dword [rbp + 0x68]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x60]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], ebx
movsd qword [rsp + 0x20], xmm1
call fcn.1800e1c34
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret