Function at 0x1800e5884
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r13
push r14
push r15
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rdi, rdx
mov rsi, rcx
xor edx, edx
lea rcx, [rbp - 0x50]
mov r8d, 0x200
call fcn.1800e6660
lea rdx, [rbp - 0x50]
mov rcx, rsi
call fcn.1800e4e5c
xorps xmm0, xmm0
lea rcx, [rbp - 0x50]
or rax, 0xffffffffffffffff
movups xmmword [rsp + 0x70], xmm0
xor ebx, ebx
inc rax
cmp word [rcx + rax*2], bx
jne 0x1800e58da
mov r15d, 2
test ax, ax
je 0x1800e5908
add ax, ax
mov word [rsp + 0x70], ax
add ax, r15w
mov word [rsp + 0x72], ax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x70]
mov qword [rbp - 0x80], 0x30
mov r8d, 1
mov qword [rbp - 0x70], rax
movzx eax, word [rdi]
xorps xmm0, xmm0
mov qword [rbp - 0x68], 0x40
mov r14d, 0x120089
mov qword [rbp - 0x78], rbx
mov rcx, rdi
lea r11d, [r8 + 2]
movdqu xmmword [rbp - 0x60], xmm0
test ax, ax
je 0x1800e5966
movzx edx, ax
cmp dx, 0x77
je 0x1800e5961
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e594b
mov rcx, rdi
jmp 0x1800e596e
test rcx, rcx
jne 0x1800e59b2
mov rcx, rdi
test ax, ax
je 0x1800e598c
movzx edx, ax
cmp dx, 0x61
je 0x1800e5987
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e5971
mov rcx, rdi
jmp 0x1800e5994
test rcx, rcx
jne 0x1800e59b2
mov rcx, rdi
test ax, ax
je 0x1800e59b8
movzx edx, ax
cmp dx, 0x2b
je 0x1800e59ad
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e5997
mov rcx, rdi
jmp 0x1800e59c0
test rcx, rcx
je 0x1800e59b8
mov r14d, 0x12019f
mov rcx, rdi
test ax, ax
je 0x1800e59de
movzx edx, ax
cmp dx, 0x72
je 0x1800e59d9
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e59c3
mov rcx, rdi
jmp 0x1800e59e6
test rcx, rcx
jne 0x1800e5a04
mov rcx, rdi
test ax, ax
je 0x1800e5a04
movzx edx, ax
cmp dx, 0x2b
je 0x1800e59ff
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e59e9
mov rcx, rdi
jmp 0x1800e5a0c
test rcx, rcx
jne 0x1800e5a50
mov rcx, rdi
test ax, ax
je 0x1800e5a2a
movzx edx, ax
cmp dx, 0x77
je 0x1800e5a25
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e5a0f
mov rcx, rdi
jmp 0x1800e5a32
test rcx, rcx
jne 0x1800e5a50
mov rcx, rdi
test ax, ax
je 0x1800e5a46
movzx edx, ax
cmp dx, 0x61
je 0x1800e5a4b
add rcx, r15
movzx edx, word [rcx]
test dx, dx
jne 0x1800e5a35
mov r10d, r8d
jmp 0x1800e5a61
test rcx, rcx
je 0x1800e5a46
mov r10d, r11d
jmp 0x1800e5a61
cmp ax, 0x77
je 0x1800e5a69
add rdi, r15
movzx eax, word [rdi]
test ax, ax
jne 0x1800e5a55
mov rdi, rbx
mov eax, 5
mov dword [rsp + 0x60], 0x7b0070
test rdi, rdi
mov dword [rsp + 0x64], 0x7f007b
mov dword [rsp + 0x68], 0x380079
lea r9, [rsp + 0x60]
cmovne r10d, eax
mov r8d, ebx
mov dword [rbp + 0x1e8], r10d
lea edi, [rax - 4]
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
add r8d, edi
sub ax, cx
add ax, 0x33
xor word [r9], ax
add r9, r15
cmp r8d, 6
jl 0x1800e5a9f
mov rcx, qword [rsi]
sub rcx, qword [rsp + 0x60]
jne 0x1800e5ae1
movzx ecx, word [rsi + 8]
movzx eax, word [rsp + 0x68]
sub rcx, rax
test rcx, rcx
mov dword [rsp + 0x60], 0x7b0070
mov r13d, 0x39
mov dword [rsp + 0x64], 0x79007b
cmove r11d, edi
mov dword [rsp + 0x68], 0x6c0062
mov word [rsp + 0x6c], r13w
lea r9, [rsp + 0x60]
mov r8d, ebx
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
add r8d, edi
sub ax, cx
add ax, 0x33
xor word [r9], ax
add r9, r15
cmp r8d, 7
jl 0x1800e5b14
mov rax, qword [rsi]
mov r13d, 0x39
cmp rax, qword [rsp + 0x60]
jne 0x1800e5b59
mov eax, dword [rsi + 8]
cmp eax, dword [rsp + 0x68]
je 0x1800e5bc5
mov dword [rsp + 0x60], 0x7b0070
lea r9, [rsp + 0x60]
mov dword [rsp + 0x64], 0x73007b
mov r8d, ebx
mov dword [rsp + 0x68], 0x6a0065
mov word [rsp + 0x6c], r13w
mov eax, 0x51eb851f
mul r8d
shr edx, 4
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
add r8d, edi
sub ax, cx
add ax, 0x33
xor word [r9], ax
add r9, r15
cmp r8d, 7
jl 0x1800e5b7f
mov rax, qword [rsi]
mov r10d, dword [rbp + 0x1e8]
cmp rax, qword [rsp + 0x60]
jne 0x1800e5bc8
mov eax, dword [rsi + 8]
cmp eax, dword [rsp + 0x68]
jne 0x1800e5bc8
mov r11d, r15d
mov dword [rsp + 0x50], ebx
lea r9, [rsp + 0x60]
mov qword [rsp + 0x48], rbx
lea r8, [rbp - 0x80]
mov dword [rsp + 0x40], 0x20
lea rcx, [rbp + 0x1e8]
mov dword [rsp + 0x38], r10d
xorps xmm0, xmm0
mov dword [rsp + 0x30], r11d
mov edx, r14d
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x20], rbx
mov qword [rbp + 0x1e8], rbx
movups xmmword [rsp + 0x60], xmm0
call fcn.1800e4354
test eax, eax
js 0x1800e5c40
call fcn.1800e1444
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 8]
call fcn.1800e144c
test rax, rax
je 0x1800e5c40
mov rcx, qword [rbp + 0x1e8]
mov rbx, rax
mov qword [rax], rcx
lea r11, [rsp + 0x2b0]
mov rax, rbx
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rbp
ret