Function at 0x1800deb90
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x38
mov rax, qword [section..data]
mov rdx, qword [rax + 0x320]
mov r8, qword [rdx]
movzx eax, word [rdx + 8]
lea r9, [r8 + rax*8]
cmp r8, r9
je 0x1800d9aa3
mov rdx, qword [r8]
test rdx, rdx
je 0x1800d98c9
cmp dword [rdx + 8], 0
je 0x1800d98c9
cmp dword [rdx + 0xc], ecx
je 0x1800d98d7
add r8, 8
cmp r8, r9
jne 0x1800d98b6
add rsp, 0x38
ret
mov rax, qword gs:[0x58]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x30], rdi
mov rdi, qword [rax]
mov rsi, qword [rdi + 0x858]
mov qword [rdi + 0x858], rdx
mov byte [rdi + 0x860], 1
mov rcx, qword [0x1803cd030]
call fcn.18025f340
mov rcx, qword [0x1803cd030]
movabs rdx, 0x2910669969e9535e
call fcn.18025f4a0
mov rcx, qword [0x1803cd030]
mov rax, qword [rcx]
cmp dword [rax], 0
je 0x1800d9a86
call fcn.18025f340
mov rcx, qword [0x1803cd030]
movabs rdx, 0x57d158647a6bfabf
call fcn.18025f4a0
mov rax, qword [0x1803cd030]
mov rcx, qword [rax]
cmp dword [rcx], 2
jne 0x1800d9a86
mov qword [rsp + 0x40], rbx
xor ebx, ebx
cmp byte [0x18041b3b0], bl
mov qword [rsp + 0x48], rbp
je 0x1800d99c8
mov ebp, dword [0x18041b3b4]
lea rcx, [0x1802a1458]
call fcn.180165410
mov rcx, qword [section..data]
mov r8, rax
mov rdx, qword [rcx + 0x2b8]
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800d99b6
mov rcx, qword [rcx + 0xf0]
test rcx, rcx
je 0x1800d99b6
movzx ecx, byte [rcx + 0x21]
jmp 0x1800d99b9
mov rcx, rbx
imul rax, rcx, 0x1af0
mov dword [rax + r8 + 0x6a0], ebp
cmp byte [0x18041b3c8], bl
je 0x1800d9a1c
mov ebp, dword [0x18041b3cc]
lea rcx, [0x1802a1458]
call fcn.180165410
mov rcx, qword [section..data]
mov r8, rax
mov rdx, qword [rcx + 0x2b8]
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800d9a0d
mov rcx, qword [rcx + 0xf0]
test rcx, rcx
je 0x1800d9a0d
movzx ecx, byte [rcx + 0x21]
jmp 0x1800d9a10
mov rcx, rbx
imul rax, rcx, 0x1af0
mov dword [rax + r8 + 0x50], ebp
cmp byte [0x18041b3e0], bl
mov rbp, qword [rsp + 0x48]
je 0x1800d9a81
movaps xmmword [rsp + 0x20], xmm6
lea rcx, [0x1802a1458]
movss xmm6, dword [0x18041b3e4]
call fcn.180165410
mov rcx, qword [section..data]
mov r8, rax
mov rdx, qword [rcx + 0x2b8]
mov rcx, qword [rdx]
test rcx, rcx
je 0x1800d9a6b
mov rcx, qword [rcx + 0xf0]
test rcx, rcx
je 0x1800d9a6b
movzx ebx, byte [rcx + 0x21]
imul rax, rbx, 0x1af0
movss dword [rax + r8 + 0x740], xmm6
movaps xmm6, xmmword [rsp + 0x20]
mov rbx, qword [rsp + 0x40]
test rsi, rsi
mov qword [rdi + 0x858], rsi
mov rsi, qword [rsp + 0x50]
setne al
mov byte [rdi + 0x860], al
mov rdi, qword [rsp + 0x30]
add rsp, 0x38
ret
cmp byte [0x18041b3c8], 0
jne 0x1800da5db
cmp byte [0x18041b3b0], 0
jne 0x1800da5db
cmp byte [0x18041b3e0], 0
je 0x1800da651
mov rax, qword [section..data]
mov rcx, qword [rax + 0x390]
cmp byte [rcx], 0
je 0x1800da651
xor r9d, r9d
lea r11, [0x1802a14c8]
lea r10, str.freemode
nop
movzx r8d, byte [r10]
movzx eax, r8b
or al, 0x20
movzx ecx, al
lea edx, [r8 - 0x41]
cmp dl, 0x19
cmova ecx, r8d
inc r10
movsx eax, cl
add eax, r9d
imul r9d, eax, 0x401
mov eax, r9d
shr eax, 6
xor r9d, eax
cmp r10, r11
jne 0x1800da600
lea eax, [r9 + r9*8]
mov ecx, eax
lea rdx, [rsp + 0x10]
shr ecx, 0xb
xor ecx, eax
imul ecx, ecx, 0x8001
jmp 0x1800d9890
ret
lea rcx, [0x18041b758]
jmp 0x1800da5c0