Function at 0x1400c8050
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1640]
mov eax, 0x1740
call fcn.14026d3b0
sub rsp, rax
mov rax, qword [0x140332240]
xor rax, rsp
mov qword [rbp + 0x1630], rax
mov r12, rcx
mov qword [rbp + 0x1a0], rcx
xor r15d, r15d
mov r14d, r15d
mov dword [rbp - 0x60], r15d
cmp qword [rcx + 0x98], r14
je 0x1400cb017
mov rbx, qword [rcx + 0x58]
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x220], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x230], xmm1
lea ecx, [r15 + 0x10]
call fcn.14026cc5c
mov qword [rax + 8], r15
mov qword [rbp + 0x218], rax
lea rcx, [rbp + 0x218]
mov qword [rax], rcx
add rbx, 0x90
lea rcx, [rbp + 0x218]
cmp rbx, rcx
je 0x1400c818b
mov rdx, qword [rbx]
mov rcx, qword [rbp + 0x218]
mov qword [rbx], rcx
mov rcx, rdx
mov qword [rbp + 0x218], rdx
test rax, rax
je 0x1400c8124
mov qword [rax], rbx
mov rcx, qword [rbp + 0x218]
test rdx, rdx
je 0x1400c8133
lea rax, [rbp + 0x218]
mov qword [rcx], rax
mov rcx, qword [rbx + 8]
mov rax, qword [rbp + 0x220]
mov qword [rbx + 8], rax
mov qword [rbp + 0x220], rcx
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbp + 0x228]
mov qword [rbx + 0x10], rax
mov qword [rbp + 0x228], rcx
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbp + 0x230]
mov qword [rbx + 0x18], rax
mov qword [rbp + 0x230], rcx
mov rcx, qword [rbx + 0x20]
mov rax, qword [rbp + 0x238]
mov qword [rbx + 0x20], rax
mov qword [rbp + 0x238], rcx
lea rcx, [rbp + 0x218]
call fcn.1400bd3a0
lea rsi, [r12 + 0x88]
mov rbx, qword [rsi + 0x10]
mov rcx, rsi
mov rdi, qword [rsi + 0x18]
cmp rdi, 0xf
jbe 0x1400c81b3
mov rcx, qword [rsi]
cmp rbx, 4
jne 0x1400c929e
mov r8, rbx
lea rdx, str.Game
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c929e
lea rcx, [r12 + 0xa8]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400c81ea
mov rcx, qword [rcx]
cmp r8, 5
jne 0x1400c867e
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c867e
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
movups xmmword [rbp + 0x170], xmm0
movups xmmword [rbp + 0x180], xmm0
movups xmmword [rbp + 0x190], xmm0
mov dword [rbp + 0x160], r14d
mov qword [rbp + 0x168], r15
mov qword [rbp + 0x170], r15
lea ecx, [rax + 0x18]
call fcn.14026cc5c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x178], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], 7
mov qword [rbp + 0x198], 8
mov dword [rbp + 0x160], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0x178]
call fcn.140015830
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 4
lea rdx, str.Game
lea rcx, [rsp + 0x68]
call fcn.140016ce0
nop
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.1400cc3f0
mov rbx, qword [rax]
lea rcx, [rsp + 0x68]
call fcn.140016e20
mov rdi, qword [rbx + 0x38]
mov rbx, qword [rbx + 0x30]
cmp rbx, rdi
je 0x1400c830d
nop
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x160]
call fcn.14003a1e0
add rbx, 8
cmp rbx, rdi
jne 0x1400c82f0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x1b0], xmm1
mov rax, r15
mov qword [rbp + 0x1c0], rax
or r14d, 1
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x1b8]
cmp rbx, rsi
je 0x1400c838c
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400c8362
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x1b8]
add rdi, 4
mov qword [rbp + 0x1b8], rdi
jmp 0x1400c8378
mov rdx, rdi
lea rcx, [rbp + 0x1b0]
call fcn.140031610
mov rdi, qword [rbp + 0x1b8]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400c838c
mov rax, qword [rbp + 0x1c0]
jmp 0x1400c8340
mov rbx, qword [rbp + 0x1b0]
cmp rbx, rdi
je 0x1400c84d1
movabs r13, 0xcbf29ce484222325
movabs r15, 0x100000001b3
movzx ecx, byte [rbx]
xor rcx, r13
imul rcx, r15
movzx eax, byte [rbx + 1]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rbx + 2]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rbx + 3]
xor rcx, rax
imul rcx, r15
mov rax, qword [rbp + 0x190]
and rax, rcx
add rax, rax
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rcx + rax*8 + 8]
cmp rdx, qword [rbp + 0x168]
je 0x1400c8418
mov rcx, qword [rcx + rax*8]
mov eax, dword [rbx]
cmp eax, dword [rdx + 0x10]
je 0x1400c841a
cmp rdx, rcx
je 0x1400c8418
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1400c8408
jmp 0x1400c841a
xor edx, edx
mov rax, qword [rbp + 0x168]
test rdx, rdx
cmovne rax, rdx
cmp rax, qword [rbp + 0x168]
jne 0x1400c84c1
call fcn.1400307e0
mov esi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400c84c1
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400c84c1
mov rax, qword [rcx]
cmp dword [rax + rsi*4], 0
je 0x1400c84c1
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + rsi*8]
je 0x1400c84c1
cmp dword [rdx + 0x20], 4
je 0x1400c84c1
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400c84b2
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [0x140359208], 4
jmp 0x1400c84c1
mov r8, rbx
lea rcx, [0x140359200]
call fcn.140031610
add rbx, 4
cmp rbx, rdi
jne 0x1400c83b0
xor r15d, r15d
lea rcx, [rbp + 0x1b0]
call fcn.140016ab0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 4
lea rdx, str.Game
lea rcx, [rsp + 0x68]
call fcn.140016ce0
nop
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.1400cc3f0
mov rbx, qword [rax]
lea rcx, [rsp + 0x68]
call fcn.140016e20
mov rsi, qword [rbx + 0x38]
mov rbx, qword [rbx + 0x30]
cmp rbx, rsi
je 0x1400c859b
call fcn.1400307e0
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400c8592
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400c8592
mov rax, qword [rcx]
cmp dword [rax + rdi*4], 0
je 0x1400c8592
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + rdi*8]
je 0x1400c8592
movzx eax, byte [rbx + 4]
mov byte [rdx + 0x24], al
add rbx, 8
cmp rbx, rsi
jne 0x1400c8532
mov rcx, r12
call fcn.1400cb140
lea rdi, [r12 + 0xe8]
mov r14d, 0xffffffff
cmp dword [rdi], r14d
je 0x1400c865e
mov rdx, rdi
call fcn.14003ba60
test rax, rax
je 0x1400c85d5
mov dword [rax + 0x98], 1
mov dword [rax + 0x7c], r15d
call fcn.14002fe50
mov ebx, eax
mov rdx, rdi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400c865b
mov r8, rdi
lea rdx, [rsp + 0x58]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x1400c865b
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
je 0x1400c865b
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
test rbx, rbx
je 0x1400c865b
mov r15d, dword [rdi]
mov rsi, qword [rbx + 8]
mov rbx, qword [rbx]
cmp rbx, rsi
je 0x1400c865b
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1400c8652
mov rax, qword [rcx]
mov edx, r15d
call qword [rax + 0x30]
add rbx, 0x38
cmp rbx, rsi
jne 0x1400c8640
mov dword [rdi], r14d
lea rcx, [rbp + 0x178]
call fcn.1400153e0
lea rcx, [rbp + 0x168]
call fcn.14003ae50
xor r15d, r15d
jmp 0x1400cac8e
lea rbx, [r12 + 0xc8]
mov rdi, qword [rbx + 0x10]
mov rcx, rbx
mov rsi, qword [rbx + 0x18]
cmp rsi, 0xf
jbe 0x1400c869a
mov rcx, qword [rbx]
mov r14d, 0xffffffff
mov r13, 0xffffffffffffffff
cmp rdi, 0xd
jne 0x1400c87bd
mov r8, rdi
lea rdx, str.ZeroHourTower
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c87bd
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c86de
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 0x38], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x38]
mov qword [rbp + 0x28], rax
movdqu xmmword [rbp + 0x30], xmm0
mov rax, qword [r12 + 0x50]
test rax, rax
je 0x1400c870b
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x30], rax
mov rax, qword [r12 + 0x50]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x30]
mov qword [rbp - 0x68], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 0x38]
mov dword [rcx], r14d
cmp byte [rcx + 0x50], 0
jne 0x1400c8748
call fcn.140096430
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], r15
mov qword [rbp + 0x88], r15
mov r8d, 0x12
lea rdx, str.ZeroHourTower.json
lea rcx, [rbp + 0x70]
call fcn.140016ce0
xor edx, edx
lea rcx, [rbp + 0x70]
call fcn.1400949d0
nop
mov rbx, qword [rbp + 0x38]
test rbx, rbx
je 0x1400c87b4
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400c87b4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400c87b4
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x30]
jmp 0x1400c8a15
cmp rsi, 0xf
jbe 0x1400c87c6
mov rbx, qword [rbx]
cmp rdi, 0xf
jne 0x1400c88e9
mov r8, rdi
lea rdx, str.PinwheelPyramid
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c88e9
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c8800
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 0x28], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x28]
mov qword [rsp + 0x50], rax
movdqu xmmword [rbp + 0x40], xmm0
mov rax, qword [r12 + 0x50]
test rax, rax
je 0x1400c882e
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x40], rax
mov rax, qword [r12 + 0x50]
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x40]
mov qword [rbp - 0x68], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 0x28]
mov dword [rcx], r14d
cmp byte [rcx + 0x50], 0
jne 0x1400c886b
call fcn.140096430
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r15
mov qword [rbp + 0xa8], r15
mov r8d, 0x14
lea rdx, str.PinwheelPyramid.json
lea rcx, [rbp + 0x90]
call fcn.140016ce0
xor edx, edx
lea rcx, [rbp + 0x90]
call fcn.1400949d0
nop
mov rbx, qword [rbp + 0x48]
test rbx, rbx
je 0x1400c88e0
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400c88e0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400c88e0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x20]
jmp 0x1400c8a15
lea rcx, [r12 + 0xc8]
cmp rsi, 0xf
jbe 0x1400c88fa
mov rcx, qword [rcx]
cmp rdi, 0xe
jne 0x1400c8a45
mov r8, rdi
lea rdx, str.MistyMountains
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c8a45
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c8931
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 0x18], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp - 0x10], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x50], rax
movdqu xmmword [rbp + 0x60], xmm0
mov rax, qword [r12 + 0x50]
test rax, rax
je 0x1400c895f
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x48]
mov qword [rbp + 0x60], rax
mov rax, qword [r12 + 0x50]
mov qword [rbp + 0x68], rax
lea rax, [rbp + 0x60]
mov qword [rbp - 0x68], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 0x18]
mov dword [rcx], r14d
cmp byte [rcx + 0x50], 0
jne 0x1400c899c
call fcn.140096430
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], r15
mov qword [rbp + 0xc8], r15
mov r8d, 0x13
lea rdx, str.MistyMountains.json
lea rcx, [rbp + 0xb0]
call fcn.140016ce0
xor edx, edx
lea rcx, [rbp + 0xb0]
call fcn.1400949d0
nop
mov rbx, qword [rbp + 0x68]
test rbx, rbx
je 0x1400c8a11
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400c8a11
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400c8a11
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x1400c8a45
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400c8a45
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r13d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1400c8a45
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], rax
lea rdx, [rbp + 0x160]
call fcn.1400c6ad0
nop
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp + 0x160]
sub rax, rbx
sar rax, 2
test rax, rax
je 0x1400c8b36
call fcn.14002fe50
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c8aa2
mov rbx, r15
jmp 0x1400c8ae9
mov r8, rbx
lea rdx, [rsp + 0x58]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c8ac7
mov rbx, r15
jmp 0x1400c8ae9
mov rax, qword [rdx]
cmp dword [rax + rdi*4], 0
jne 0x1400c8ad5
mov rbx, r15
jmp 0x1400c8ae9
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rdi*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1b0], xmm0
mov qword [rbp + 0x1c0], r15
mov qword [rbp + 0x1c8], r15
mov r8d, 0xc
lea rdx, str.RoundManager
lea rcx, [rbp + 0x1b0]
call fcn.140016ce0
lea rdx, [rbp + 0x1b0]
mov rcx, rbx
call fcn.14002fc70
lea rcx, str.New_Round_Start_n
call fcn.14003af50
nop
lea rcx, [rbp + 0x160]
call fcn.140016ab0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], rax
lea rdx, [rbp + 0x1e8]
call fcn.1400cb450
nop
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x200], xmm1
mov qword [rbp + 0x210], r15
mov r12, qword [rbp + 0x1f0]
mov r15, r12
mov rdi, qword [rbp + 0x1e8]
cmp rdi, r12
je 0x1400c8bed
nop word [rax + rax]
mov rdx, rdi
lea rcx, [0x140359100]
call fcn.140032560
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xor eax, eax
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
lea r8d, [rax + 0xd]
lea rdx, str.SpawnerScript
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
cmp byte [rax + 0x14], 0
je 0x1400c8be6
add rdi, 4
cmp rdi, r15
jne 0x1400c8b90
mov r12, qword [rbp + 0x1f0]
cmp rdi, r15
je 0x1400c8c90
lea rsi, [rdi + 4]
cmp rsi, r15
je 0x1400c8c70
nop
mov rdx, rsi
lea rcx, [0x140359100]
call fcn.140032560
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
xor eax, eax
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x178], rax
lea r8d, [rax + 0xd]
lea rdx, str.SpawnerScript
lea rcx, [rbp + 0x160]
call fcn.140016ce0
lea rdx, [rbp + 0x160]
mov rcx, rbx
call fcn.14002fc70
cmp byte [rax + 0x14], 0
je 0x1400c8c60
mov eax, dword [rsi]
mov dword [rdi], eax
add rdi, 4
add rsi, 4
cmp rsi, r15
jne 0x1400c8c00
mov r12, qword [rbp + 0x1f0]
cmp rdi, r15
je 0x1400c8c90
sub r12, r15
mov r8, r12
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
add r12, rdi
mov qword [rbp + 0x1f0], r12
mov rbx, qword [rbp + 0x1e8]
cmp rbx, r12
je 0x1400c8d44
call fcn.14002eaf0
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c8cbf
xor r8d, r8d
jmp 0x1400c8d05
mov r8, rbx
lea rdx, [rbp - 0x78]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c8ce3
xor r8d, r8d
jmp 0x1400c8d05
mov rax, qword [rdx]
cmp dword [rax + rdi*4], 0
jne 0x1400c8cf1
xor r8d, r8d
jmp 0x1400c8d05
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*4]
mov rax, qword [rdx + rdi*8]
lea r8, [rax + rcx*4]
mov rdx, qword [rbp + 0x208]
cmp rdx, qword [rbp + 0x210]
je 0x1400c8d2b
mov eax, dword [r8]
mov dword [rdx], eax
mov eax, dword [r8 + 4]
mov dword [rdx + 4], eax
add qword [rbp + 0x208], 8
jmp 0x1400c8d37
lea rcx, [rbp + 0x200]
call fcn.14008fc80
add rbx, 4
cmp rbx, r12
jne 0x1400c8ca0
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1624], r14d
mov dword [rbp + 0x2a4], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 + 0x2a4], eax
inc rdx
cmp rdx, 0x270
jb 0x1400c8d60
mov r8d, 0x270
mov dword [rbp + 0x2a0], r8d
mov eax, 0x40
lea rax, [rax - 1]
shr r13, 1
cmp r13, r14
ja 0x1400c8d94
mov rdx, qword [rbp + 0x200]
mov qword [rbp - 0x78], rdx
mov rcx, qword [rbp + 0x208]
mov qword [rbp - 0x60], rcx
cmp rdx, rcx
je 0x1400c9060
lea r12, [rdx + 8]
cmp r12, rcx
je 0x1400c9060
lea rsi, [rax - 1]
mov r15d, 2
nop word [rax + rax]
lea r14, [r15 - 1]
nop dword [rax]
nop dword [rax + rax]
xor ebx, ebx
xor edi, edi
test r14, r14
je 0x1400c8fdd
nop dword [rax]
mov rcx, rsi
shl rbx, cl
add rbx, rbx
nop dword [rax]
cmp r8d, 0x270
jne 0x1400c8e75
lea r8, [rbp + 0x2a8]
mov r9d, 0x270
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + 0x630]
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x1400c8e30
mov r8d, dword [rbp + 0x2a0]
jmp 0x1400c8f7c
cmp r8d, 0x4e0
jb 0x1400c8f7c
lea r10, [rbp + 0xc64]
mov r9d, 0xe3
mov r11d, dword [rbp + 0xc64]
nop word [rax + rax]
mov eax, r11d
mov r8, r10
add r10, 4
mov r11d, dword [r10]
mov edx, eax
xor edx, r11d
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + 0x634]
mov dword [r8 - 0x9c0], ecx
sub r9, 1
jne 0x1400c8ea0
lea r10, [rbp + 0xff0]
mov r9d, 0x18c
mov r11d, dword [rbp + 0xff0]
nop dword [rax]
nop word [rax + rax]
mov eax, r11d
mov r8, r10
add r10, 4
mov r11d, dword [r10]
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 - 0xd4c]
mov dword [r8 - 0x9c0], ecx
sub r9, 1
jne 0x1400c8f00
mov edx, dword [rbp + 0x1620]
xor edx, dword [rbp + 0x2a4]
btr edx, 0x1f
xor edx, dword [rbp + 0x1620]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [rbp + 0x8d4]
mov dword [rbp + 0xc60], ecx
xor r8d, r8d
mov dword [rbp + 0x2a0], r8d
mov eax, r8d
mov ecx, dword [rbp + rax*4 + 0x2a4]
inc r8d
mov dword [rbp + 0x2a0], r8d
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1624]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov eax, ecx
shr eax, 0x12
xor eax, ecx
cmp rax, r13
ja 0x1400c8e10
or rbx, rax
mov rcx, rsi
shl rdi, cl
add rdi, rdi
or rdi, r13
cmp rdi, r14
jb 0x1400c8e00
xor edx, edx
mov rax, rdi
div r15
mov r9, rdx
mov rcx, rax
xor edx, edx
mov rax, rbx
div r15
cmp rax, rcx
jb 0x1400c9001
cmp r9, r14
jne 0x1400c8df0
xor edx, edx
mov rax, rbx
div r15
lea rax, [r15 - 1]
cmp rdx, rax
je 0x1400c904f
mov rax, qword [rbp - 0x78]
lea rcx, [rax + rdx*8]
movss xmm0, dword [r12]
movss xmm1, dword [r12 + 4]
cmp r12, rcx
je 0x1400c903a
mov eax, dword [rcx]
mov dword [r12], eax
mov eax, dword [rcx + 4]
mov dword [r12 + 4], eax
lea rax, [rbp + 0x150]
cmp rcx, rax
je 0x1400c904f
movss dword [rcx], xmm0
movss dword [rcx + 4], xmm1
inc r15
add r12, 8
cmp r12, qword [rbp - 0x60]
jne 0x1400c8de0
mov r15, qword [rbp + 0x1f0]
mov rbx, qword [rbp + 0x1e8]
cmp rbx, r15
je 0x1400c9111
xor esi, esi
nop dword [rax]
mov rdi, qword [rbp + 0x200]
add rdi, rsi
call fcn.14002eaf0
mov r14d, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c90a9
xor ecx, ecx
jmp 0x1400c90f1
mov r8, rbx
lea rdx, [rbp + 0x240]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c90cf
xor ecx, ecx
jmp 0x1400c90f1
mov rax, qword [rdx]
cmp dword [rax + r14*4], 0
jne 0x1400c90dd
xor ecx, ecx
jmp 0x1400c90f1
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*4]
mov rax, qword [rdx + r14*8]
lea rcx, [rax + rcx*4]
cmp rcx, rdi
je 0x1400c9100
mov eax, dword [rdi]
mov dword [rcx], eax
mov eax, dword [rdi + 4]
mov dword [rcx + 4], eax
add rsi, 8
add rbx, 4
cmp rbx, r15
jne 0x1400c9080
xor edi, edi
cmp dword [0x1403580a8], 0xffffffff
setne sil
mov r14d, dword [0x1403580ac]
mov r15d, dword [0x1403580b0]
mov r12d, dword [0x1403580b4]
xor ebx, ebx
mov ecx, ebx
call fcn.1402608f0
lea edx, [rdi + 1]
test eax, eax
cmove edx, edi
mov edi, edx
inc ebx
cmp ebx, 0xf
jl 0x1400c9135
cmp edx, 1
jbe 0x1400c926d
mov rax, qword [rbp + 0x1a0]
mov dword [rax + 0x44], edx
mov ecx, edx
call fcn.1400bedb0
test sil, sil
jne 0x1400c91a4
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400c9191
mov rax, qword [rbp + 0x1e8]
mov ecx, dword [rax]
mov dword [rdx], ecx
add qword [0x140359208], 4
jmp 0x1400c91a4
mov r8, qword [rbp + 0x1e8]
lea rcx, [0x140359200]
call fcn.140031610
cmp r14d, 0xffffffff
jne 0x1400c91e0
mov r8, qword [rbp + 0x1e8]
add r8, 4
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400c91d4
mov eax, dword [r8]
mov dword [rdx], eax
add qword [0x140359208], 4
jmp 0x1400c91e0
lea rcx, [0x140359200]
call fcn.140031610
cmp r15d, 0xffffffff
jne 0x1400c921c
mov r8, qword [rbp + 0x1e8]
add r8, 8
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400c9210
mov eax, dword [r8]
mov dword [rdx], eax
add qword [0x140359208], 4
jmp 0x1400c921c
lea rcx, [0x140359200]
call fcn.140031610
cmp r12d, 0xffffffff
jne 0x1400c9258
mov r8, qword [rbp + 0x1e8]
add r8, 0xc
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400c924c
mov eax, dword [r8]
mov dword [rdx], eax
add qword [0x140359208], 4
jmp 0x1400c9258
lea rcx, [0x140359200]
call fcn.140031610
lea rcx, [0x140359100]
call fcn.1400a4770
mov r12, qword [rbp + 0x1a0]
jmp 0x1400c927d
mov r12, qword [rbp + 0x1a0]
mov dword [r12 + 0x44], 4
lea rcx, [rbp + 0x200]
call fcn.1400153e0
nop
lea rcx, [rbp + 0x1e8]
call fcn.140016ab0
xor r15d, r15d
jmp 0x1400cac8e
cmp rdi, 0xf
jbe 0x1400c92a7
mov rsi, qword [rsi]
cmp rbx, 7
jne 0x1400c93ad
mov r8, rbx
lea rdx, str.Endgame
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c93ad
xorps xmm0, xmm0
movdqu xmmword [rbp - 8], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c92e1
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 8], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp], rax
lea rax, [rbp - 8]
mov qword [rsp + 0x50], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 8]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], 0
jne 0x1400c9322
call fcn.140096430
xorps xmm0, xmm0
movups xmmword [rbp + 0xd0], xmm0
mov qword [rbp + 0xe0], r15
mov qword [rbp + 0xe8], r15
mov r8d, 0x11
lea rdx, str.endgameScene.json
lea rcx, [rbp + 0xd0]
call fcn.140016ce0
xor edx, edx
lea rcx, [rbp + 0xd0]
call fcn.1400949d0
nop
mov rbx, qword [rbp]
test rbx, rbx
je 0x1400cac8e
mov r13, 0xffffffffffffffff
mov eax, r13d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1400cac8e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r13d
cmp r13d, 1
jne 0x1400cac8e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
jmp 0x1400cac8e
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c93be
mov rcx, qword [rcx]
cmp rbx, 0x3a
jne 0x1400c9484
mov r8, rbx
lea rdx, str.fbheuiogdrwedrfafisfjkdslgfuysadbfasfgsdfbshdgfuasvufastyu
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c9484
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c93f5
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x50], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 0x58]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], 0
jne 0x1400c9436
call fcn.140096430
mov rbx, qword [rbp - 0x58]
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r15
mov qword [rbp + 0x108], r15
mov r8d, 0x11
lea rdx, str.SplashScreen.json
lea rcx, [rbp + 0xf0]
call fcn.140016ce0
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.1400949d0
nop
mov rbx, qword [rbp - 0x50]
jmp 0x1400c9366
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c9495
mov rcx, qword [rcx]
cmp rbx, 4
jne 0x1400c95db
mov r8, rbx
lea rdx, str.Menu
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c95db
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x1a0], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c94cf
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp + 0x1a0], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp + 0x1a8], rax
lea rcx, [rbp + 0x1a0]
call fcn.1400cc890
mov edx, dword [r12 + 0xf0]
mov rbx, qword [0x140358090]
mov rcx, qword [rbx + 0x58]
mov rax, qword [rcx + 8]
cmp byte [rax + 0x19], r14b
jne 0x1400c9527
cmp dword [rax + 0x20], edx
jge 0x1400c951b
mov rax, qword [rax + 0x10]
jmp 0x1400c9521
mov rcx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], r14b
je 0x1400c9510
cmp byte [rcx + 0x19], r14b
jne 0x1400c9549
cmp edx, dword [rcx + 0x20]
jl 0x1400c9549
cmp rcx, qword [rbx + 0x58]
je 0x1400c9549
mov rcx, qword [rcx + 0x28]
call qword [sym.imp.fmod.dll_public:_enum_FMOD_RESULT___cdecl_FMOD::ChannelControl::stop_void____ptr64]
mov rbx, qword [0x140358090]
mov qword [rbp - 0x78], r14
xorps xmm1, xmm1
movups xmmword [rsp + 0x68], xmm1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov r8d, 0xd
lea rdx, str.KnockOutMusic
lea rcx, [rsp + 0x68]
call fcn.140016ce0
nop
movss xmm0, dword [0x1402f3230]
movss dword [rsp + 0x40], xmm0
lea rax, [rbp - 0x78]
mov qword [rsp + 0x38], rax
mov byte [rsp + 0x30], 0
movss xmm0, dword [0x1402f2fe8]
movss dword [rsp + 0x28], xmm0
movss xmm1, dword [0x1402f3050]
movss dword [rsp + 0x20], xmm1
mov r9b, 1
mov r8d, 9
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.140039670
mov dword [r12 + 0xf0], eax
lea rcx, [rsp + 0x68]
call fcn.140016e20
jmp 0x1400cac8e
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c95ec
mov rcx, qword [rcx]
cmp rbx, 0xb
jne 0x1400c96b2
mov r8, rbx
lea rdx, str.LevelSelect
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c96b2
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c9623
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp - 0x48], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp - 0x40], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x50], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp - 0x48]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], 0
jne 0x1400c9664
call fcn.140096430
mov rbx, qword [rbp - 0x48]
xorps xmm0, xmm0
movups xmmword [rbp + 0x110], xmm0
mov qword [rbp + 0x120], r15
mov qword [rbp + 0x128], r15
mov r8d, 0x15
lea rdx, str.levelSelectScene.json
lea rcx, [rbp + 0x110]
call fcn.140016ce0
mov rdx, rbx
lea rcx, [rbp + 0x110]
call fcn.1400949d0
nop
mov rbx, qword [rbp - 0x40]
jmp 0x1400c9366
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c96c3
mov rcx, qword [rcx]
cmp rbx, 8
jne 0x1400c9b07
mov r8, rbx
lea rdx, str.Controls
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c9b07
lea rcx, [r12 + 0xa8]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400c96fa
mov rcx, qword [rcx]
cmp r8, 5
jne 0x1400c9aa6
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c9aa6
mov r13, 0xffffffffffffffff
lea rdx, [rbp + 0x1d0]
call fcn.1400cb6f0
nop
mov rdi, qword [rbp + 0x1d0]
mov rsi, qword [rbp + 0x1d8]
cmp rdi, rsi
je 0x1400c9801
mov eax, dword [rdi]
mov dword [rbp + 0x1a0], eax
call fcn.14002fe50
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c976e
mov rbx, r15
jmp 0x1400c97bb
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x240]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c9799
mov rbx, r15
jmp 0x1400c97bb
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400c97a7
mov rbx, r15
jmp 0x1400c97bb
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0x12
lea rdx, str.PauseButtonManager
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov r13d, dword [rax + 0x3c]
add rdi, 4
cmp rdi, rsi
jne 0x1400c9743
lea rcx, [rbp + 0x1d0]
call fcn.140016ab0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x50]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x38]
je 0x1400c9832
mov qword [rcx + 0x38], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
mov rax, r15
mov qword [rbp + 0x170], rax
or r14d, 2
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x168]
cmp rbx, rsi
je 0x1400c98b1
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400c9887
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x168]
add rdi, 4
mov qword [rbp + 0x168], rdi
jmp 0x1400c989d
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140031610
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400c98b1
mov rax, qword [rbp + 0x170]
jmp 0x1400c9865
mov rsi, qword [rbp + 0x160]
cmp rsi, rdi
je 0x1400c9982
call fcn.1400307e0
mov ebx, eax
mov rdx, rsi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400c9975
mov r8, rsi
lea rdx, [rbp + 0x18]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400c9975
mov r8d, ebx
mov rax, qword [rcx]
cmp dword [rax + rbx*4], 0
je 0x1400c9975
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rcx + r8*8]
je 0x1400c9975
cmp dword [rbx + 0x20], 4
je 0x1400c9975
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
add rcx, 0x30
mov eax, dword [rsi]
mov dword [rbp - 0x78], eax
movzx eax, byte [rbx + 0x24]
mov byte [rbp - 0x74], al
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400c9968
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x1400c9971
lea r8, [rbp - 0x78]
call fcn.140030ef0
mov byte [rbx + 0x24], 0
add rsi, 4
cmp rsi, rdi
jne 0x1400c98c1
lea rcx, [rbp + 0x160]
call fcn.140016ab0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c99a5
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc770
lea rdx, [rbp + 0x160]
call fcn.1400cb990
nop
mov rdi, qword [rbp + 0x160]
mov rsi, qword [rbp + 0x168]
cmp rdi, rsi
je 0x1400c9a95
call fcn.14002fe50
mov ebx, eax
mov rdx, rdi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c9a06
mov rbx, r15
jmp 0x1400c9a4f
mov r8, rdi
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c9a2d
mov rbx, r15
jmp 0x1400c9a4f
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400c9a3b
mov rbx, r15
jmp 0x1400c9a4f
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0xe
lea rdx, str.ControlsScript
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov dword [rax + 0x10], r13d
add rdi, 4
cmp rdi, rsi
jne 0x1400c99e7
lea rcx, [rbp + 0x160]
call fcn.140016ab0
jmp 0x1400cac8e
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [r12 + 0x58]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], r14b
jne 0x1400c9acd
call fcn.140096430
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c9ae4
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc770
jmp 0x1400cac8e
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c9b18
mov rcx, qword [rcx]
cmp rbx, 7
jne 0x1400c9f66
mov r8, rbx
lea rdx, str.Options
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c9f66
lea rcx, [r12 + 0xa8]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400c9b4f
mov rcx, qword [rcx]
cmp r8, 5
jne 0x1400c9f05
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400c9f05
mov r13, 0xffffffffffffffff
lea rdx, [rbp + 0x1d0]
call fcn.1400cb6f0
nop
mov rdi, qword [rbp + 0x1d0]
mov rsi, qword [rbp + 0x1d8]
cmp rdi, rsi
je 0x1400c9c5e
nop dword [rax + rax]
mov eax, dword [rdi]
mov dword [rbp + 0x1a0], eax
call fcn.14002fe50
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c9bcb
mov rbx, r15
jmp 0x1400c9c18
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c9bf6
mov rbx, r15
jmp 0x1400c9c18
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400c9c04
mov rbx, r15
jmp 0x1400c9c18
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0x12
lea rdx, str.PauseButtonManager
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov r13d, dword [rax + 0x3c]
add rdi, 4
cmp rdi, rsi
jne 0x1400c9ba0
lea rcx, [rbp + 0x1d0]
call fcn.140016ab0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x18]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x38]
je 0x1400c9c8f
mov qword [rcx + 0x38], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
mov rax, r15
mov qword [rbp + 0x170], rax
or r14d, 4
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x168]
cmp rbx, rsi
je 0x1400c9d0e
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400c9ce4
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x168]
add rdi, 4
mov qword [rbp + 0x168], rdi
jmp 0x1400c9cfa
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140031610
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400c9d0e
mov rax, qword [rbp + 0x170]
jmp 0x1400c9cc2
mov rsi, qword [rbp + 0x160]
cmp rsi, rdi
je 0x1400c9de1
nop
call fcn.1400307e0
mov ebx, eax
mov rdx, rsi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400c9dd4
mov r8, rsi
lea rdx, [rbp + 0x50]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400c9dd4
mov r8d, ebx
mov rax, qword [rcx]
cmp dword [rax + rbx*4], 0
je 0x1400c9dd4
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rcx + r8*8]
je 0x1400c9dd4
cmp dword [rbx + 0x20], 4
je 0x1400c9dd4
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x240]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
add rcx, 0x30
mov eax, dword [rsi]
mov dword [rbp - 0x78], eax
movzx eax, byte [rbx + 0x24]
mov byte [rbp - 0x74], al
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400c9dc7
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x1400c9dd0
lea r8, [rbp - 0x78]
call fcn.140030ef0
mov byte [rbx + 0x24], 0
add rsi, 4
cmp rsi, rdi
jne 0x1400c9d20
lea rcx, [rbp + 0x160]
call fcn.140016ab0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c9e04
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc6e0
lea rdx, [rbp + 0x160]
call fcn.1400cbc30
nop
mov rdi, qword [rbp + 0x160]
mov rsi, qword [rbp + 0x168]
cmp rdi, rsi
je 0x1400c9ef4
call fcn.14002fe50
mov ebx, eax
mov rdx, rdi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400c9e65
mov rbx, r15
jmp 0x1400c9eae
mov r8, rdi
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400c9e8c
mov rbx, r15
jmp 0x1400c9eae
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400c9e9a
mov rbx, r15
jmp 0x1400c9eae
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0xd
lea rdx, str.OptionsScript
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov dword [rax + 0x10], r13d
add rdi, 4
cmp rdi, rsi
jne 0x1400c9e46
lea rcx, [rbp + 0x160]
call fcn.140016ab0
jmp 0x1400cac8e
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [r12 + 0x58]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], r14b
jne 0x1400c9f2c
call fcn.140096430
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c9f43
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc6e0
jmp 0x1400cac8e
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400c9f77
mov rcx, qword [rcx]
cmp rbx, 7
jne 0x1400ca038
mov r8, rbx
lea rdx, str.Credits
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ca038
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400c9fae
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rbp + 8], rax
mov rax, qword [r12 + 0x60]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 8]
mov qword [rsp + 0x50], rax
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [rbp + 8]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], 0
jne 0x1400c9fef
call fcn.140096430
xorps xmm0, xmm0
movups xmmword [rbp + 0x130], xmm0
mov qword [rbp + 0x140], r15
mov qword [rbp + 0x148], r15
mov r8d, 0xc
lea rdx, str.credits.json
lea rcx, [rbp + 0x130]
call fcn.140016ce0
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.1400949d0
nop
mov rbx, qword [rbp + 0x10]
jmp 0x1400c9366
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400ca049
mov rcx, qword [rcx]
cmp rbx, 5
jne 0x1400ca834
mov r8, rbx
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ca834
lea rcx, [r12 + 0xa8]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400ca080
mov rcx, qword [rcx]
cmp r8, 4
jne 0x1400ca2e1
lea rdx, str.Game
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400ca2e1
mov esi, r15d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x240], xmm0
mov qword [rbp + 0x250], rax
lea rdx, [rbp + 0x240]
call fcn.1400bd570
nop
mov r15, qword [rbp + 0x248]
mov rdi, qword [rbp + 0x240]
cmp rdi, r15
je 0x1400ca111
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [rdi]
mov dword [rbp + 0x1a0], eax
lea rdx, [rbp + 0x1a0]
call fcn.14003ba60
mov rbx, rax
mov edx, 3
mov ecx, esi
call fcn.1400bf070
mov byte [rbx + 0x58], al
inc esi
add rdi, 4
cmp rdi, r15
jne 0x1400ca0e0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x38]
je 0x1400ca139
mov qword [rcx + 0x38], rax
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
xor r15d, r15d
mov qword [rbp + 0x170], rax
or r14d, 8
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x168]
cmp rbx, rsi
je 0x1400ca1bc
nop
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400ca192
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x168]
add rdi, 4
mov qword [rbp + 0x168], rdi
jmp 0x1400ca1a8
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140031610
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400ca1bc
mov rax, qword [rbp + 0x170]
jmp 0x1400ca170
mov rsi, qword [rbp + 0x160]
cmp rsi, rdi
je 0x1400ca28e
nop dword [rax]
call fcn.1400307e0
mov ebx, eax
mov rdx, rsi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400ca281
mov r8, rsi
lea rdx, [rbp + 0x18]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400ca281
mov r8d, ebx
mov rax, qword [rcx]
cmp dword [rax + rbx*4], r15d
je 0x1400ca281
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rcx + r8*8]
je 0x1400ca281
cmp dword [rbx + 0x20], 4
je 0x1400ca281
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x50]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
add rcx, 0x30
mov eax, dword [rsi]
mov dword [rbp - 0x78], eax
movzx eax, byte [rbx + 0x24]
mov byte [rbp - 0x74], al
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400ca274
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x1400ca27d
lea r8, [rbp - 0x78]
call fcn.140030ef0
mov byte [rbx + 0x24], r15b
add rsi, 4
cmp rsi, rdi
jne 0x1400ca1d0
lea rcx, [rbp + 0x160]
call fcn.140016ab0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400ca2b1
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400ccbf0
nop
lea rcx, [rbp + 0x240]
call fcn.140016ab0
jmp 0x1400cac8e
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 5
lea rdx, str.Pause
lea rcx, [rsp + 0x68]
call fcn.140016ce0
nop
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc3f0
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x38]
sub rbx, qword [rcx + 0x30]
sar rbx, 3
lea rcx, [rsp + 0x68]
call fcn.140016e20
xorps xmm0, xmm0
test rbx, rbx
je 0x1400ca7fd
movups xmmword [rbp + 0x260], xmm0
movups xmmword [rbp + 0x270], xmm0
movups xmmword [rbp + 0x280], xmm0
movups xmmword [rbp + 0x290], xmm0
mov dword [rbp + 0x260], 0
mov qword [rbp + 0x268], r15
mov qword [rbp + 0x270], r15
mov ecx, 0x18
call fcn.14026cc5c
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rbp + 0x268], rax
mov qword [rbp + 0x278], r15
xorps xmm0, xmm0
movdqa xmmword [rbp + 0x280], xmm0
mov qword [rbp + 0x290], 7
mov qword [rbp + 0x298], 8
mov dword [rbp + 0x260], 0x3f800000
mov r8, rax
mov edx, 0x10
lea rcx, [rbp + 0x278]
call fcn.140015830
nop
mov r15, qword [r12 + 8]
mov rbx, qword [r15]
cmp rbx, r15
je 0x1400ca41a
mov rsi, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
cmp rdi, rsi
je 0x1400ca40f
mov r8, rdi
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0x260]
call fcn.14003a1e0
add rdi, 8
cmp rdi, rsi
jne 0x1400ca3f0
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x1400ca3e3
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
xor r15d, r15d
mov qword [rbp + 0x170], rax
or r14d, 0x20
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x168]
cmp rbx, rsi
je 0x1400ca49c
nop
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400ca472
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x168]
add rdi, 4
mov qword [rbp + 0x168], rdi
jmp 0x1400ca488
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140031610
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400ca49c
mov rax, qword [rbp + 0x170]
jmp 0x1400ca450
mov rbx, qword [rbp + 0x160]
cmp rbx, rdi
je 0x1400ca67e
movabs r13, 0xcbf29ce484222325
movabs r15, 0x100000001b3
movzx ecx, byte [rbx]
xor rcx, r13
imul rcx, r15
movzx eax, byte [rbx + 1]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rbx + 2]
xor rcx, rax
imul rcx, r15
movzx eax, byte [rbx + 3]
xor rcx, rax
imul rcx, r15
and rcx, qword [rbp + 0x290]
add rcx, rcx
mov r8, qword [rbp + 0x278]
mov rdx, qword [r8 + rcx*8 + 8]
cmp rdx, qword [rbp + 0x268]
je 0x1400ca525
mov r8, qword [r8 + rcx*8]
mov eax, dword [rbx]
cmp eax, dword [rdx + 0x10]
je 0x1400ca527
cmp rdx, r8
je 0x1400ca525
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x1400ca515
jmp 0x1400ca527
xor edx, edx
mov rax, qword [rbp + 0x268]
test rdx, rdx
cmovne rax, rdx
cmp rax, qword [rbp + 0x268]
jne 0x1400ca667
call fcn.1400307e0
mov esi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400ca667
mov r8, rbx
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400ca667
mov rax, qword [rcx]
cmp dword [rax + rsi*4], 0
je 0x1400ca667
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + rsi*8]
je 0x1400ca667
cmp dword [rdx + 0x20], 4
je 0x1400ca667
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x18]
mov rcx, qword [rbp + 0x1a0]
call fcn.1400cc170
mov rsi, qword [rax]
call fcn.1400307e0
mov r14d, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400ca5f1
xor edx, edx
jmp 0x1400ca636
mov r8, rbx
lea rdx, [rbp + 0x50]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
jne 0x1400ca614
xor edx, edx
jmp 0x1400ca636
mov rax, qword [rcx]
cmp dword [rax + r14*4], 0
jne 0x1400ca622
xor edx, edx
jmp 0x1400ca636
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + r14*8]
mov eax, dword [rbx]
mov dword [rbp - 0x78], eax
movzx eax, byte [rdx + 0x24]
mov byte [rbp - 0x74], al
mov rdx, qword [rsi + 0x38]
cmp rdx, qword [rsi + 0x40]
je 0x1400ca65a
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
add qword [rsi + 0x38], 8
jmp 0x1400ca667
lea r8, [rbp - 0x78]
lea rcx, [rsi + 0x30]
call fcn.140030ef0
add rbx, 4
cmp rbx, rdi
jne 0x1400ca4c0
mov r12, qword [rbp + 0x1a0]
xor r15d, r15d
lea rcx, [rbp + 0x160]
call fcn.140016ab0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rdi, qword [rcx + 0x38]
mov rbx, qword [rcx + 0x30]
cmp rbx, rdi
je 0x1400ca6f6
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [0x140359208]
cmp rdx, qword [0x140359210]
je 0x1400ca6de
mov eax, dword [rbx]
mov dword [rdx], eax
add qword [0x140359208], 4
jmp 0x1400ca6ed
mov r8, rbx
lea rcx, [0x140359200]
call fcn.140031610
add rbx, 8
cmp rbx, rdi
jne 0x1400ca6c0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x38]
je 0x1400ca71e
mov qword [rcx + 0x38], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x78], xmm1
mov r8d, 5
lea rdx, str.Pause
lea rcx, [rsp + 0x68]
call fcn.140016ce0
nop
lea r8, [rsp + 0x68]
lea rdx, [rbp + 0x1b0]
mov rcx, r12
call fcn.1400cc3f0
mov rbx, qword [rax]
lea rcx, [rsp + 0x68]
call fcn.140016e20
mov rsi, qword [rbx + 0x38]
mov rbx, qword [rbx + 0x30]
cmp rbx, rsi
je 0x1400ca7e0
call fcn.1400307e0
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400ca7d7
mov r8, rbx
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400ca7d7
mov rax, qword [rcx]
cmp dword [rax + rdi*4], 0
je 0x1400ca7d7
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, qword [rcx + rdi*8]
je 0x1400ca7d7
movzx eax, byte [rbx + 4]
mov byte [rdx + 0x24], al
add rbx, 8
cmp rbx, rsi
jne 0x1400ca775
lea rcx, [rbp + 0x278]
call fcn.1400153e0
lea rcx, [rbp + 0x268]
call fcn.14003ae50
jmp 0x1400cac8e
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400ca811
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400ccbf0
jmp 0x1400cac8e
lea rcx, [r12 + 0x88]
cmp rdi, 0xf
jbe 0x1400ca845
mov rcx, qword [rcx]
cmp rbx, 4
jne 0x1400caff1
mov r8, rbx
lea rdx, str.Quit
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400caff1
lea rcx, [r12 + 0xa8]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400ca87c
mov rcx, qword [rcx]
cmp r8, 5
jne 0x1400cac32
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400cac32
mov r13, 0xffffffffffffffff
lea rdx, [rbp + 0x1d0]
call fcn.1400cb6f0
nop
mov rdi, qword [rbp + 0x1d0]
mov rsi, qword [rbp + 0x1d8]
cmp rdi, rsi
je 0x1400ca98e
nop word [rax + rax]
mov eax, dword [rdi]
mov dword [rbp + 0x1a0], eax
call fcn.14002fe50
mov ebx, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400ca8fb
mov rbx, r15
jmp 0x1400ca948
lea r8, [rbp + 0x1a0]
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400ca926
mov rbx, r15
jmp 0x1400ca948
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400ca934
mov rbx, r15
jmp 0x1400ca948
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0x12
lea rdx, str.PauseButtonManager
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov r13d, dword [rax + 0x3c]
add rdi, 4
cmp rdi, rsi
jne 0x1400ca8d0
lea rcx, [rbp + 0x1d0]
call fcn.140016ab0
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x18]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
cmp rax, qword [rcx + 0x38]
je 0x1400ca9bf
mov qword [rcx + 0x38], rax
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x160], xmm1
mov rax, r15
mov qword [rbp + 0x170], rax
or r14d, 0x10
mov dword [rbp - 0x60], r14d
mov rsi, qword [0x140359308]
mov rbx, qword [rsi]
mov rdi, qword [rbp + 0x168]
cmp rbx, rsi
je 0x1400caa3e
lea r8, [rbx + 0x10]
cmp rdi, rax
je 0x1400caa14
mov eax, dword [r8]
mov dword [rdi], eax
mov rdi, qword [rbp + 0x168]
add rdi, 4
mov qword [rbp + 0x168], rdi
jmp 0x1400caa2a
mov rdx, rdi
lea rcx, [rbp + 0x160]
call fcn.140031610
mov rdi, qword [rbp + 0x168]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, rsi
je 0x1400caa3e
mov rax, qword [rbp + 0x170]
jmp 0x1400ca9f2
mov rsi, qword [rbp + 0x160]
cmp rsi, rdi
je 0x1400cab11
nop
call fcn.1400307e0
mov ebx, eax
mov rdx, rsi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
je 0x1400cab04
mov r8, rsi
lea rdx, [rbp + 0x50]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
je 0x1400cab04
mov r8d, ebx
mov rax, qword [rcx]
cmp dword [rax + rbx*4], 0
je 0x1400cab04
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rbx, [rax + rax*2]
shl rbx, 4
add rbx, qword [rcx + r8*8]
je 0x1400cab04
cmp dword [rbx + 0x20], 4
je 0x1400cab04
lea r8, [r12 + 0xa8]
lea rdx, [rbp + 0x240]
mov rcx, r12
call fcn.1400cc170
mov rcx, qword [rax]
add rcx, 0x30
mov eax, dword [rsi]
mov dword [rbp - 0x78], eax
movzx eax, byte [rbx + 0x24]
mov byte [rbp - 0x74], al
mov rdx, qword [rcx + 8]
cmp rdx, qword [rcx + 0x10]
je 0x1400caaf7
mov rax, qword [rbp - 0x78]
mov qword [rdx], rax
add qword [rcx + 8], 8
jmp 0x1400cab00
lea r8, [rbp - 0x78]
call fcn.140030ef0
mov byte [rbx + 0x24], 0
add rsi, 4
cmp rsi, rdi
jne 0x1400caa50
lea rcx, [rbp + 0x160]
call fcn.140016ab0
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400cab34
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc800
lea rdx, [rbp + 0x160]
call fcn.1400cbed0
nop
mov rdi, qword [rbp + 0x160]
mov rsi, qword [rbp + 0x168]
cmp rdi, rsi
je 0x1400cac24
call fcn.14002fe50
mov ebx, eax
mov rdx, rdi
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400cab95
mov rbx, r15
jmp 0x1400cabde
mov r8, rdi
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov rdx, qword [rcx + 0x18]
test rdx, rdx
jne 0x1400cabbc
mov rbx, r15
jmp 0x1400cabde
mov rax, qword [rdx]
cmp dword [rax + rbx*4], 0
jne 0x1400cabca
mov rbx, r15
jmp 0x1400cabde
mov rdx, qword [rdx + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + rbx*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0x11
lea rdx, str.QuitButtonManager
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov dword [rax + 0x3c], r13d
add rdi, 4
cmp rdi, rsi
jne 0x1400cab76
lea rcx, [rbp + 0x160]
call fcn.140016ab0
jmp 0x1400cac8e
call fcn.1400b47d0
lea rcx, [0x140359100]
call fcn.1400a4770
mov rcx, qword [r12 + 0x58]
mov dword [rcx], 0xffffffff
cmp byte [rcx + 0x50], r14b
jne 0x1400cac59
call fcn.140096430
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x58], xmm0
mov rax, qword [r12 + 0x60]
test rax, rax
je 0x1400cac70
lock inc dword [rax + 8]
mov rax, qword [r12 + 0x58]
mov qword [rsp + 0x58], rax
mov rax, qword [r12 + 0x60]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.1400cc800
lea r9, [r12 + 0xa8]
lea rcx, [r12 + 0x68]
cmp rcx, r9
je 0x1400cace3
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x1400cacae
mov r9, qword [r9]
mov rax, qword [rcx + 0x18]
cmp rbx, rax
ja 0x1400cacdb
mov rdi, rcx
cmp rax, 0xf
jbe 0x1400cacc3
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rbx + rdi], 0
jmp 0x1400cace3
mov rdx, rbx
call fcn.140019700
lea r9, [r12 + 0x88]
lea rcx, [r12 + 0xa8]
cmp rcx, r9
je 0x1400cad3b
mov rbx, qword [r9 + 0x10]
cmp qword [r9 + 0x18], 0xf
jbe 0x1400cad06
mov r9, qword [r9]
mov rax, qword [rcx + 0x18]
cmp rbx, rax
ja 0x1400cad33
mov rdi, rcx
cmp rax, 0xf
jbe 0x1400cad1b
mov rdi, qword [rcx]
mov qword [rcx + 0x10], rbx
mov r8, rbx
mov rdx, r9
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
jmp 0x1400cad3b
mov rdx, rbx
call fcn.140019700
lea rcx, [r12 + 0x88]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400cad51
mov rcx, qword [rcx]
cmp r8, 4
jne 0x1400caef8
lea rdx, str.Game
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400caef8
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x1d0], xmm0
mov qword [rbp + 0x1e0], rax
lea rdx, [rbp + 0x1d0]
call fcn.1400c6ad0
nop
mov rax, qword [rbp + 0x1d8]
mov rbx, qword [rbp + 0x1d0]
sub rax, rbx
sar rax, 2
test rax, rax
je 0x1400caeec
call fcn.1400307e0
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400cadcc
mov rax, r15
jmp 0x1400cae12
mov r8, rbx
lea rdx, [rbp + 0x18]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
jne 0x1400cadf0
mov rax, r15
jmp 0x1400cae12
mov rax, qword [rcx]
cmp dword [rax + rdi*4], 0
jne 0x1400cadfe
mov rax, r15
jmp 0x1400cae12
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rcx + rdi*8]
mov byte [rax + 0x24], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], rax
lea rdx, [rbp + 0x160]
call fcn.1400c6ad0
nop
mov rbx, qword [rbp + 0x160]
call fcn.14002fe50
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400cae5c
mov rbx, r15
jmp 0x1400caea2
mov r8, rbx
lea rdx, [rbp + 0x50]
lea rcx, [0x140359300]
call fcn.140030a90
mov rcx, qword [rax]
mov r9, qword [rcx + 0x18]
test r9, r9
jne 0x1400cae80
mov rbx, r15
jmp 0x1400caea2
mov rax, qword [r9]
cmp dword [rax + rdi*4], 0
jne 0x1400cae8e
mov rbx, r15
jmp 0x1400caea2
mov r9, qword [r9 + 0x18]
mov rax, qword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [r9 + rdi*8]
lea rbx, [rax + rcx*8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r8d, 0xc
lea rdx, str.RoundManager
lea rcx, [rsp + 0x68]
call fcn.140016ce0
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14002fc70
mov ecx, dword [r12 + 0x44]
mov dword [rax + 0x64], ecx
lea rcx, [rbp + 0x160]
call fcn.140016ab0
nop
lea rcx, [rbp + 0x1d0]
jmp 0x1400cafa2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x160], xmm0
mov qword [rbp + 0x170], rax
lea rdx, [rbp + 0x160]
call fcn.1400c6ad0
nop
mov rax, qword [rbp + 0x168]
mov rbx, qword [rbp + 0x160]
sub rax, rbx
sar rax, 2
test rax, rax
je 0x1400caf9b
call fcn.1400307e0
mov edi, eax
mov rdx, rbx
lea rcx, [0x140359300]
call fcn.14002efc0
test al, al
jne 0x1400caf51
mov rax, r15
jmp 0x1400caf97
mov r8, rbx
lea rdx, [rbp + 0x18]
lea rcx, [0x140359300]
call fcn.140030a90
mov rdx, qword [rax]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
jne 0x1400caf75
mov rax, r15
jmp 0x1400caf97
mov rax, qword [rcx]
cmp dword [rax + rdi*4], 0
jne 0x1400caf83
mov rax, r15
jmp 0x1400caf97
mov rcx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x20]
lea rax, [rax + rax*2]
shl rax, 4
add rax, qword [rcx + rdi*8]
mov byte [rax + 0x24], 0
lea rcx, [rbp + 0x160]
call fcn.140016ab0
lea rcx, [r12 + 0x88]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400cafbd
mov rcx, qword [rcx]
cmp r8, 5
jne 0x1400cafe3
lea rdx, str.Pause
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400cafe3
mov rax, qword [0x140358090]
mov dword [rax + 0x70], 0x3e99999a
jmp 0x1400caff1
mov rax, qword [0x140358090]
mov dword [rax + 0x70], 0x3f800000
lea rcx, [r12 + 0x88]
cmp qword [r12 + 0xa0], 0xf
jbe 0x1400cb00c
mov rcx, qword [r12 + 0x88]
mov qword [r12 + 0x98], r15
mov byte [rcx], 0
mov rcx, qword [rbp + 0x1630]
xor rcx, rsp
call fcn.14026cac0
lea r11, [rsp + 0x1740]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret