Function at 0x14006d070
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push r12
push r14
push r15
sub rsp, 0x160
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov rax, qword [0x14010cfb0]
xor rax, rsp
mov qword [rsp + 0x118], rax
xor r15d, r15d
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
lea r8d, [r15 + 0xd]
lea rdx, str.Top_Down_Game
lea rcx, [rsp + 0x40]
call fcn.14006db40
lea rdx, [rsp + 0x40]
mov rcx, qword [0x140112630]
call fcn.1400b9d30
mov rcx, qword [0x140112608]
call fcn.1400b6870
lea rax, vtable.std::_Func_impl_no_alloc_void____cdecl___void___void___.0
mov qword [rsp + 0x80], rax
lea rax, [0x1400b6540]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0xc8], rax
mov rax, qword [0x140112630]
mov rcx, qword [rax]
add rcx, 0x28
lea rdx, [rsp + 0x80]
call fcn.1400ba2d0
nop
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x14006d172
mov rax, qword [rcx]
lea rdx, [rsp + 0x80]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
lea rcx, [rsp + 0xd8]
call fcn.1400ad1e0
nop
movabs r14, 0x7fffffffffffffff
mov rax, r14
mov rcx, qword [rsp + 0xe8]
sub rax, rcx
cmp rax, 5
jb 0x14006d970
lea r9, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae r9, qword [rsp + 0xd8]
mov qword [rsp + 0x30], 5
lea rsi, str.mods_
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.14006ddd0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xc8], rax
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov rax, qword [0x14010d560]
cmp rdi, rax
ja 0x14006d23d
lea rbx, [0x14010d548]
cmp rax, 0x10
cmovae rbx, qword [0x14010d548]
mov qword [0x14010d558], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x14006d24d
mov rdx, rdi
lea rcx, [0x14010d548]
call fcn.140073660
nop
lea rcx, [rsp + 0x40]
call fcn.14006da40
mov rax, r14
mov rcx, qword [rsp + 0xe8]
sub rax, rcx
cmp rax, 5
jb 0x14006d976
lea r9, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae r9, qword [rsp + 0xd8]
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.14006ddd0
nop
mov r8d, 0xd
lea rdx, str._example_mod_
lea rcx, [rsp + 0x60]
call fcn.14006daa0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x40]
call fcn.1400ac740
nop
lea rcx, [rsp + 0x60]
call fcn.14006da40
mov rax, r14
mov rcx, qword [rsp + 0xe8]
sub rax, rcx
cmp rax, 7
jb 0x14006d97b
lea r9, [rsp + 0xd8]
cmp qword [rsp + 0xf0], 0x10
cmovae r9, qword [rsp + 0xd8]
mov qword [rsp + 0x30], 7
lea rax, str.assets_
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x40]
call fcn.14006ddd0
lea rax, [rsp + 0x40]
mov qword [rsp + 0xc8], rax
lea r9, [rsp + 0x40]
cmp qword [rsp + 0x58], 0x10
cmovae r9, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov rax, qword [0x14010d520]
cmp rdi, rax
ja 0x14006d3b8
lea rbx, [0x14010d508]
cmp rax, 0x10
cmovae rbx, qword [0x14010d508]
mov qword [0x14010d518], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x14006d3c8
mov rdx, rdi
lea rcx, [0x14010d508]
call fcn.140073660
nop
lea rcx, [rsp + 0x40]
call fcn.14006da40
nop
lea rcx, [rsp + 0xd8]
call fcn.14006da40
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r8d, 0x10
lea rbx, str.core_square_mesh
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14006db40
lea rdx, [rsp + 0x40]
mov rcx, qword [0x140112628]
call fcn.14006edb0
mov ecx, r15d
mov al, 0x63
nop dword [rax]
nop word [rax + rax]
movsx eax, al
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
lea rbx, [rbx + 1]
movzx eax, byte [rbx]
test al, al
jne 0x14006d430
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov rcx, qword [0x140112628]
call fcn.140070420
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
mov r8d, 0x12
lea rbx, str.core_sprite_shader
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.14006db40
lea rdx, [rsp + 0x40]
mov rcx, qword [0x140112628]
call fcn.14006edb0
mov ecx, r15d
mov al, 0x63
nop dword [rax + rax]
movsx eax, al
add eax, ecx
imul ecx, eax, 0x401
mov eax, ecx
shr eax, 6
xor ecx, eax
lea rbx, [rbx + 1]
movzx eax, byte [rbx]
test al, al
jne 0x14006d4b0
lea eax, [rcx + rcx*8]
mov ecx, eax
shr ecx, 0xb
xor ecx, eax
imul edx, ecx, 0x8001
mov rcx, qword [0x140112628]
call fcn.140070420
lea rcx, [rsp + 0xf8]
call fcn.1400ad1e0
nop
mov rax, r14
mov rcx, qword [rsp + 0x108]
sub rax, rcx
cmp rax, 5
jb 0x14006d981
lea r9, [rsp + 0xf8]
cmp qword [rsp + 0x110], 0x10
cmovae r9, qword [rsp + 0xf8]
mov qword [rsp + 0x30], 5
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x60]
call fcn.14006ddd0
nop
mov r8d, 5
lea rdx, str._game
lea rcx, [rsp + 0x60]
call fcn.14006daa0
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x50], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x40]
call fcn.1400afa90
nop
lea rcx, [rsp + 0x60]
call fcn.14006da40
movabs rsi, 0x311cdad160000
movabs r12, 0x112e0be826d694b3
movsd xmm7, qword [0x1400f67e0]
movsd xmm9, qword [0x1400f67d0]
movsd xmm8, qword [0x1400f6820]
mov rax, qword [0x140112630]
mov rcx, qword [rax]
mov rcx, qword [rcx]
call fcn.1400bbd00
test eax, eax
jne 0x14006d863
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
movd xmm6, eax
cvtdq2pd xmm6, xmm6
divsd xmm6, xmm7
mov rax, qword [0x140112610]
mov rcx, qword [rax]
mov rbx, qword [rcx]
mov rdi, qword [rcx + 8]
cmp rbx, rdi
je 0x14006d62f
movsd xmm1, qword [0x1401125d8]
cvtpd2ps xmm1, xmm1
mov rcx, qword [rbx]
call fcn.1400a7800
add rbx, 8
jmp 0x14006d610
mov rcx, qword [0x1401125f8]
call fcn.140091700
mov rbx, qword [0x140112620]
mov rcx, qword [rbx]
mov rcx, qword [rcx]
call fcn.1400ac0b0
mov rax, qword [rbx]
mov rdi, qword [rax + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14006d66a
mov rcx, qword [rbx + 0x10]
call fcn.1400ac0b0
mov rbx, qword [rbx]
jmp 0x14006d657
mov rcx, qword [0x140112600]
call fcn.1400adac0
mov rcx, qword [0x1401125f0]
call fcn.140093720
mov rax, qword [0x140112618]
mov rcx, qword [rax]
mov rbx, qword [rcx]
mov rdi, qword [rcx + 8]
cmp rbx, rdi
je 0x14006d6a6
mov rcx, qword [rbx]
call fcn.1400a6fa0
add rbx, 8
jmp 0x14006d693
mov rcx, qword [0x140112608]
call fcn.1400b71b0
mov rcx, qword [0x140112608]
call fcn.1400b7370
mov rcx, qword [0x140112630]
call fcn.1400ba070
mov rax, qword [0x140112628]
mov rbx, qword [rax]
mov rcx, qword [rbx + 0x40]
mov rdx, qword [rbx + 0x48]
cmp rcx, rdx
je 0x14006d6ee
call fcn.140072d00
mov rax, qword [rbx + 0x40]
mov qword [rbx + 0x48], rax
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm9, xmm1
jbe 0x14006d852
movaps xmm0, xmm9
subsd xmm0, xmm1
cvttsd2si eax, xmm0
movsxd rbx, eax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x14006d73f
imul rdi, rax, 0x64
jmp 0x14006d75d
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rdi, rcx, 0x3b9aca00
add rdi, rax
test rbx, rbx
jle 0x14006d780
imul rax, rbx, 0xf4240
mov rcx, r14
sub rcx, rax
cmp rdi, rcx
jge 0x14006d779
add rdi, rax
jmp 0x14006d780
mov rdi, r14
nop dword [rax]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14006d79e
imul rbx, rax, 0x64
jmp 0x14006d7bf
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cmp rbx, rdi
jge 0x14006d840
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
mov rax, rdi
sub rax, rbx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm8
seta r9b
test r9b, r9b
lea r8, [rcx + rsi]
jne 0x14006d7f2
lea r8, [rax + rcx]
add rax, rcx
lea rdx, [rcx + rsi]
test r9b, r9b
cmove rdx, rax
mov rax, r12
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0xc8], rdx
imul eax, edx, 0x3b9aca00
sub r8d, eax
mov dword [rsp + 0xd0], r8d
lea rcx, [rsp + 0xc8]
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x14006d780
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm0, xmm7
subsd xmm0, xmm6
movsd qword [0x1401125d8], xmm0
jmp 0x14006d5d3
lea rcx, [rsp + 0xf8]
call fcn.14006da40
nop
jmp 0x14006d876
mov r14, qword [0x140112620]
mov rdi, qword [r14]
mov rdi, qword [rdi + 8]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14006d8ba
nop dword [rax]
mov rsi, qword [rbx + 0x10]
mov qword [rbx + 0x10], r15
test rsi, rsi
je 0x14006d8b2
mov rcx, rsi
call fcn.1400abef0
mov edx, 0x30
mov rcx, rsi
call fcn.1400c6388
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14006d890
mov rax, qword [r14]
mov rbx, qword [rax]
mov qword [rax], r15
test rbx, rbx
je 0x14006d8dd
mov rcx, rbx
call fcn.1400abef0
mov edx, 0x30
mov rcx, rbx
call fcn.1400c6388
mov rdi, qword [0x140112628]
mov qword [0x140112628], r15
test rdi, rdi
je 0x14006d92c
mov rbx, qword [rdi]
test rbx, rbx
je 0x14006d91f
lea rcx, [rbx + 0x58]
call fcn.14006e880
lea rcx, [rbx + 0x40]
call fcn.140071240
mov rcx, rbx
call fcn.14006e810
mov edx, 0x98
mov rcx, rbx
call fcn.1400c6388
mov edx, 8
mov rcx, rdi
call fcn.1400c6388
xor eax, eax
mov rcx, qword [rsp + 0x118]
xor rcx, rsp
call fcn.1400c61b0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
ret
call fcn.14006d050
nop
call fcn.14006d050
call fcn.14006d050
nop
call fcn.14006d050
int3