Function at 0x18000ddc0
Capabilities:
Encode data using xor

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, qword [0x1801f6110]
mov eax, dword [rbx + 0x19d0]
cmp dword [rbx + 0x19d4], eax
je 0x18000e0b4
mov rax, qword [rbx + 0x118]
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r14
test rax, rax
je 0x18000de61
movss xmm1, dword [rbx + 0x2efc]
ucomiss xmm1, dword [0x1801eb0f8]
jp 0x18000de12
je 0x18000de3f
movss xmm0, dword [rbx + 0x2f00]
subss xmm0, dword [rbx + 0x2ef8]
subss xmm1, dword [rbx + 0x2ef4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, dword [0x1801eaf94]
jbe 0x18000de61
cvttss2si edx, dword [rbx + 0x2ef8]
cvttss2si ecx, dword [rbx + 0x2ef4]
call rax
movsd xmm0, qword [rbx + 0x2ef4]
movsd qword [rbx + 0x2efc], xmm0
cmp dword [rbx + 0x1a10], 2
jl 0x18000de7e
nop word [rax + rax]
call fcn.180013030
cmp dword [rbx + 0x1a10], 1
jg 0x18000de70
mov rax, qword [rbx + 0x1a38]
mov byte [rbx + 2], 0
test rax, rax
je 0x18000de9b
cmp byte [rax + 0x80], 0
jne 0x18000de9b
mov byte [rax + 0x7e], 0
call fcn.180013030
cmp qword [rbx + 0x1be0], 0
je 0x18000deaf
call fcn.180017470
cmp byte [rbx + 0x1eac], 0
je 0x18000df01
mov eax, dword [rbx + 0x1ed4]
inc eax
cmp eax, dword [rbx + 0x19d0]
jge 0x18000deed
test byte [rbx + 0x1eb0], 0x20
jne 0x18000dee9
movsxd rcx, dword [rbx + 0x1eb8]
mov rax, qword [0x1801f6110]
cmp byte [rcx + rax + 0x138], 0
jne 0x18000deed
mov al, 1
jmp 0x18000deef
xor al, al
cmp byte [rbx + 0x1efa], 0
jne 0x18000defc
test al, al
je 0x18000df01
call fcn.1800178c0
xor ebp, ebp
cmp byte [rbx + 0x1eac], bpl
je 0x18000df56
mov eax, dword [rbx + 0x19d0]
cmp dword [rbx + 0x1eb4], eax
jge 0x18000df56
mov byte [rbx + 0x1ead], 1
mov ecx, ebp
mov dword [rsp + 0x40], 0x3e2120
mov byte [rsp + 0x44], 1
lea eax, [rcx + 0xe]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 3
jb 0x18000df30
lea rcx, [rsp + 0x40]
mov byte [rsp + 0x44], bpl
call fcn.180013fd0
mov byte [rbx + 0x1ead], bpl
mov eax, dword [rbx + 0x19d0]
mov dword [rbx + 0x19d4], eax
mov byte [rbx + 1], bpl
call fcn.18000bcd0
lea r14, [rbx + 0x1a00]
mov ecx, dword [r14 + 4]
test ecx, ecx
jns 0x18000df92
mov eax, ecx
cdq
sub eax, edx
mov edx, ebp
sar eax, 1
add eax, ecx
mov rcx, r14
test eax, eax
cmovg edx, eax
call fcn.180018bd0
mov dword [r14], ebp
mov rcx, r14
mov edx, dword [rbx + 0x19e0]
call fcn.180018bd0
mov ecx, dword [rbx + 0x19e0]
mov esi, ebp
test ecx, ecx
je 0x18000dff2
mov rdi, rbp
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x19e8]
mov rdx, qword [rdi + rax]
cmp byte [rdx + 0x7e], bpl
je 0x18000dfda
test dword [rdx + 0xc], 0x1000000
jne 0x18000dfe2
mov rcx, r14
call fcn.18000da40
mov ecx, dword [rbx + 0x19e0]
inc esi
add rdi, 8
cmp esi, ecx
jne 0x18000dfc0
mov eax, dword [r14]
mov rsi, qword [rsp + 0x50]
mov dword [rbx + 0x19e0], eax
mov eax, dword [rbx + 0x19e4]
mov dword [r14], ecx
mov ecx, dword [r14 + 4]
mov dword [r14 + 4], eax
mov rax, qword [rbx + 0x19e8]
mov dword [rbx + 0x19e4], ecx
mov rcx, qword [r14 + 8]
mov qword [r14 + 8], rax
mov eax, dword [rbx + 0x1a30]
mov r14, qword [rsp + 0x20]
mov dword [rbx + 0x3bc], eax
mov rax, qword [rbx + 0xa8]
mov qword [rbx + 0x19e8], rcx
mov byte [rax], bpl
mov qword [rbx + 0x140], rbp
mov ecx, dword [rbx + 0x155c]
test ecx, ecx
jns 0x18000e075
mov eax, ecx
cdq
sub eax, edx
mov edx, ebp
sar eax, 1
add eax, ecx
lea rcx, [rbx + 0x1558]
test eax, eax
cmovg edx, eax
call fcn.180008080
mov rdi, qword [rsp + 0x28]
xorps xmm0, xmm0
mov dword [rbx + 0x1558], ebp
xor eax, eax
mov rbp, qword [rsp + 0x48]
movups xmmword [rbx + 0x34c], xmm0
movups xmmword [rbx + 0x35c], xmm0
movups xmmword [rbx + 0x36c], xmm0
movups xmmword [rbx + 0x37c], xmm0
movups xmmword [rbx + 0x38c], xmm0
mov qword [rbx + 0x39c], rax
add rsp, 0x30
pop rbx
ret