Function at 0x18004cee0
Capabilities:
Encode data using xor

Disassembly:
mov qword ss:[rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x1801091c0]
xor rax, rsp
mov qword [rbp + 0x3f], rax
xor esi, esi
mov dword [rbp - 0x41], esi
lea r14, [0x180149c98]
lea ecx, [rsi + 0x70]
call fcn.1800984f0
mov rdi, rax
mov qword [rbp - 0x39], rax
mov rcx, qword [rbp + 0x7f]
movzx ebx, byte [rcx]
mov rcx, qword [rbp + 0x77]
movzx edx, byte [rcx]
mov byte [rbp - 0x49], dl
mov byte [rbp - 0x48], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x2f], rsi
mov qword [rbp + 0x37], rsi
lea r8d, [rsi + 0x25]
lea rdx, str.Fills_up_all_available_consumables___
lea rcx, [rbp + 0x1f]
call fcn.18000b3e0
nop
mov dword [rbp - 0x41], 1
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], rsi
mov qword [rbp + 0x17], rsi
lea r8d, [rsi + 0xe]
lea rdx, str.FILL_INVENTORY
lea rcx, [rbp - 1]
call fcn.18000b3e0
nop
mov dword [rbp - 0x41], 3
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x21], xmm0
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], rsi
lea r8d, [rsi + 0xe]
lea rdx, str.Fill_Inventory
lea rcx, [rbp - 0x21]
call fcn.18000b3e0
nop
mov dword [rbp - 0x41], 7
lea rax, vtable.TinaTech::Command.0
mov qword [rdi], rax
lea rcx, [rdi + 8]
lea rdx, [rbp - 0x21]
call fcn.18000b520
nop
lea rcx, [rdi + 0x28]
lea rdx, [rbp - 1]
call fcn.18000b520
nop
lea rcx, [rdi + 0x48]
lea rdx, [rbp + 0x1f]
call fcn.18000b520
nop
movzx eax, word [rbp - 0x49]
mov word [rdi + 0x68], ax
mov byte [rdi + 0x6a], bl
lea r10, [rbp - 0x21]
cmp qword [rbp - 9], 0xf
cmova r10, qword [rbp - 0x21]
mov eax, esi
mov r11, qword [rbp - 0x11]
add r11, r10
cmp r10, r11
je 0x18004d06a
nop dword [rax]
movsx r9d, byte [r10]
mov r8d, r9d
sub r9b, 0x41
movzx ecx, r8b
or cl, 0x20
movzx edx, cl
movzx ecx, r8b
cmp r9b, 0x19
cmova edx, ecx
movsx ecx, dl
add ecx, eax
imul eax, ecx, 0x401
mov ecx, eax
shr ecx, 6
xor eax, ecx
inc r10
cmp r10, r11
jne 0x18004d030
lea ecx, [rax + rax*8]
mov eax, ecx
shr eax, 0xb
xor ecx, eax
imul eax, ecx, 0x8001
mov dword [rbp - 0x49], eax
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x31]
call fcn.18003a500
mov rcx, qword [rax]
mov qword [rcx + 0x18], rdi
lea rax, vtable.TinaTech::FillInventory.0
mov qword [rdi], rax
mov qword [0x180149c98], rdi
mov rdx, qword [rbp - 9]
cmp rdx, 0xf
jbe 0x18004d0e5
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004d0db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004d0db
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
nop dword [rax + rax]
call fcn.180098974
mov qword [rbp - 0x11], rsi
mov qword [rbp - 9], 0xf
mov byte [rbp - 0x21], 0
mov rdx, qword [rbp + 0x17]
cmp rdx, 0xf
jbe 0x18004d134
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004d12e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004d12e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180098974
nop
mov rdx, qword [rbp + 0x37]
cmp rdx, 0xf
jbe 0x18004d172
inc rdx
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004d16d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004d16d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180098974
mov rax, r14
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1800984d0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret