Function at 0x14000dd60
Capabilities:
Hide graphical window
Log keystrokes via polling
Manipulate console buffer

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x24460]
mov eax, 0x24560
call fcn.140015890
sub rsp, rax
movaps xmmword [rsp + 0x24550], xmm6
movaps xmmword [rsp + 0x24540], xmm7
movaps xmmword [rsp + 0x24530], xmm8
movaps xmmword [rsp + 0x24520], xmm9
movaps xmmword [rsp + 0x24510], xmm10
movaps xmmword [rsp + 0x24500], xmm11
movaps xmmword [rsp + 0x244f0], xmm12
movaps xmmword [rsp + 0x244e0], xmm13
movaps xmmword [rsp + 0x244d0], xmm14
movaps xmmword [rsp + 0x244c0], xmm15
mov rax, qword [0x140045080]
xor rax, rsp
mov qword [rbp + 0x243b0], rax
xor r14d, r14d
xor edx, edx
mov r8d, 0x1f8
lea rcx, [rbp + 0x130]
call fcn.14002f660
lea rcx, [rbp + 0x130]
call fcn.14000b310
nop
xor edx, edx
mov r8d, 0x24060
lea rcx, [rbp + 0x350]
call fcn.14002f660
nop
mov byte [rbp + 0x350], 1
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], rax
mov word [rbp + 0x388], ax
mov byte [rbp + 0x38a], al
movups xmmword [rbp + 0x38c], xmm0
mov qword [rbp + 0x39c], rax
mov dword [rbp + 0x3a4], eax
mov eax, 4
mov dword [rbp + 0x3a8], eax
mov byte [rbp + 0x3ac], r14b
lea rax, [0x14000d8e0]
mov qword [rsp + 0x20], rax
lea r9, [0x14000d940]
mov edx, 0x48
mov r8d, 0x800
lea rcx, [rbp + 0x3b0]
call fcn.140015498
nop
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rbx, rax
lea rdx, [rbp + 0xb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleCursorInfo]
mov dword [rbp + 0xb4], r14d
lea rdx, [rbp + 0xb0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleCursorInfo]
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rsi, rax
call fcn.14001bd64
mov dword [rax], r14d
mov ebx, r14d
mov edi, r14d
lea rdx, [rbp + 0x90]
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x14000df1f
mov ebx, dword [rbp + 0x98]
sub ebx, dword [rbp + 0x90]
mov edi, dword [rbp + 0x9c]
sub edi, dword [rbp + 0x94]
movsx r9d, bx
movsx eax, di
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], eax
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.USER32.dll_MoveWindow]
call fcn.14001bd64
mov dword [rbp - 0x80], r14d
mov edx, r14d
lea rcx, [rbp + 0x130]
call fcn.14000b690
xorps xmm0, xmm0
movups xmmword [rbp + 0xb8], xmm0
mov qword [rbp + 0xc8], r14
mov qword [rbp + 0xd0], r14
mov r8d, 0x13
lea rdx, str._ConsoleDrawEngine_
lea rcx, [rbp + 0xb8]
call fcn.140011250
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r14
mov qword [rbp + 0x108], r14
mov r8d, 7
lea rdx, str.Shooter
lea rcx, [rbp + 0xf0]
call fcn.140011250
nop
mov dword [rbp + 0x1f0], 0x3e99999a
lea rdx, [rbp + 0xf0]
cmp qword [rbp + 0x108], 0xf
cmova rdx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
lea rcx, [rbp + 0x1c8]
call fcn.140010660
lea rdx, [rbp + 0xb8]
cmp qword [rbp + 0xd0], 0xf
cmova rdx, qword [rbp + 0xb8]
mov r8, qword [rbp + 0xc8]
lea rcx, [rbp + 0x1a8]
call fcn.140010660
mov word [rbp + 0x325], 0x101
mov dword [rbp + 0x314], 0x4380780
mov eax, 8
mov dword [rbp + 0x318], eax
mov dword [rbp + 0x31c], eax
mov byte [rbp + 0x324], 0
mov edx, 0xf1
mov r8d, 0x88
lea rcx, [rbp + 0x130]
call fcn.14000b930
nop
mov rdx, qword [rbp + 0x108]
cmp rdx, 0xf
jbe 0x14000e0a1
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e09b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000e09b
call fcn.14001c30c
int3
call fcn.140015110
nop
mov rdx, qword [rbp + 0xd0]
cmp rdx, 0xf
jbe 0x14000e0e4
inc rdx
mov rcx, qword [rbp + 0xb8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e0df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000e0df
call fcn.14001c30c
int3
call fcn.140015110
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
mov edx, 3
call qword [sym.imp.USER32.dll_ShowWindow]
mov byte [rbp + 0x312], 0
xorps xmm13, xmm13
xorps xmm10, xmm10
xorps xmm12, xmm12
xorps xmm7, xmm7
movss dword [rbp - 0x80], xmm7
xorps xmm14, xmm14
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov qword [rbp + 0x100], r14
movdqu xmmword [rbp + 0x78], xmm1
mov qword [rbp + 0x88], r14
movdqu xmmword [rbp + 0xb8], xmm1
mov qword [rbp + 0xc8], r14
movdqu xmmword [rbp + 0xd8], xmm1
mov qword [rbp + 0xe8], r14
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x64], r14d
mov byte [rsp + 0x51], 0
mov byte [rsp + 0x50], 0
mov byte [rbp - 0x60], 0
mov dword [rbp - 0x5c], r14d
mov dword [rsp + 0x7c], r14d
xor ecx, ecx
call fcn.14001bd84
mov ecx, eax
call fcn.14001af70
movss xmm6, dword [0x14003d724]
movsd xmm9, qword [0x14003d778]
movsd xmm15, qword [0x14003d738]
movsd xmm8, qword [0x14003d770]
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x78], rax
mov r15, qword [rbp + 0x80]
mov qword [rbp - 0x68], r15
mov r12, qword [rbp + 0xc0]
mov qword [rbp - 0x58], r12
mov r13, qword [rbp + 0xe0]
mov qword [rbp - 0x70], r13
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
mov edi, 4
mov edx, edi
mov rcx, qword [rbp + 0x210]
call fcn.140015110
mov eax, dword [rbp + 0x208]
imul eax, dword [rbp + 0x204]
movsxd rcx, eax
mov eax, edi
mul rcx
cmovb rax, rbx
mov rcx, rax
call fcn.140015464
mov qword [rbp + 0x210], rax
movsxd r8, dword [rbp + 0x208]
movsxd rcx, dword [rbp + 0x204]
imul r8, rcx
shl r8, 2
xor edx, edx
mov rcx, rax
call fcn.14002f660
lea rcx, [rbp + 0x350]
call fcn.14000db60
movss xmm11, dword [rbp + 0x1ec]
xor r15d, r15d
mov rbx, qword [rbp + 0x368]
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rbx, rax
jne 0x14000e312
lea rcx, [rbp + 0x118]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov ebx, r15d
mov edi, r15d
lea rdx, [rbp + 0x120]
mov rcx, qword [rbp + 0x368]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x14000e2ac
mov ebx, dword [rbp + 0x128]
sub ebx, dword [rbp + 0x120]
mov edi, dword [rbp + 0x12c]
sub edi, dword [rbp + 0x124]
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov esi, r15d
mov r14d, r15d
lea rdx, [rbp + 0x90]
mov rcx, qword [rbp + 0x368]
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x14000e2e1
mov esi, dword [rbp + 0x90]
mov r14d, dword [rbp + 0x94]
add bx, si
add di, r14w
movsx ecx, si
mov rax, qword [rbp + 0x118]
cmp eax, ecx
jl 0x14000e312
movsx ecx, bx
cmp eax, ecx
jg 0x14000e312
movsx eax, r14w
mov ecx, dword [rbp + 0x11c]
cmp ecx, eax
jl 0x14000e312
movsx eax, di
cmp ecx, eax
jle 0x14000e322
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14000e253
movzx r9d, byte [rsp + 0x50]
test r9b, r9b
mov r15, qword [rbp - 0x68]
jne 0x14000e36f
cmp byte [rsp + 0x51], 0
je 0x14000e386
mov eax, dword [rsp + 0x64]
movd xmm12, eax
cvtdq2ps xmm12, xmm12
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d740]
cvttsd2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm12, xmm0
mov r9b, 1
mov byte [rsp + 0x50], r9b
jmp 0x14000e376
cmp byte [rsp + 0x51], 0
je 0x14000e386
movsx eax, word [rbp + 0x3a4]
movd xmm10, eax
cvtdq2ps xmm10, xmm10
mov edi, dword [rsp + 0x60]
cmp byte [rbp - 0x60], 0
je 0x14000e50f
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d730]
cvttsd2si ebx, xmm0
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
xor esi, esi
mov qword [rbp + 0xa0], rsi
mov qword [rbp + 0xa8], rsi
mov r8d, 0xa
lea rdx, str.Game_Over_
lea rcx, [rbp + 0x90]
call fcn.140011250
nop
mov ecx, ebx
imul rcx, qword [rbp + 0xa0]
shr rcx, 1
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub ax, cx
mov word [rbp - 0x38], ax
mov eax, dword [rsp + 0x64]
cdq
sub eax, edx
sar eax, 1
mov word [rbp - 0x36], ax
lea rcx, [rbp + 0x130]
call fcn.14000c5d0
mov word [rsp + 0x40], 7
mov dword [rsp + 0x20], ebx
mov r9d, ebx
lea r8, [rbp + 0x90]
mov edx, dword [rbp - 0x38]
lea rcx, [rbp + 0x130]
call fcn.14000be10
mov ebx, 1
mov edx, ebx
lea rcx, [rbp + 0x130]
call fcn.14000c650
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x14000e494
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000e48f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fb84
call fcn.140015110
xor r9b, r9b
mov byte [rsp + 0x50], r9b
mov dword [rsp + 0x7c], esi
mov dword [rbp - 0x5c], esi
mov rcx, qword [rbp + 0xd8]
cmp rcx, r13
cmovne r13, rcx
mov qword [rbp - 0x70], r13
mov qword [rbp + 0xe0], r13
mov r8, qword [rbp + 0xb8]
cmp r8, r12
cmovne r12, r8
mov qword [rbp - 0x58], r12
mov qword [rbp + 0xc0], r12
mov rax, qword [rbp - 0x78]
cmp qword [rbp + 0xf0], rax
cmovne rax, qword [rbp + 0xf0]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0xf8], rax
mov rdx, qword [rbp + 0x78]
cmp rdx, r15
cmovne r15, rdx
mov qword [rbp - 0x68], r15
mov qword [rbp + 0x80], r15
mov byte [rbp - 0x60], r9b
jmp 0x14000e526
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x78]
mov r8, qword [rbp + 0xb8]
mov ebx, 1
movaps xmm0, xmm12
subss xmm0, dword [0x14003d754]
subss xmm0, dword [0x14003d728]
cvttss2si r14d, xmm0
mov dword [rbp - 0x7c], r14d
cmp rdx, r15
jne 0x14000e6a9
test r9b, r9b
je 0x14000e6a9
cmp rcx, r13
cmovne r13, rcx
mov qword [rbp - 0x70], r13
mov qword [rbp + 0xe0], r13
cmp r8, r12
cmovne r12, r8
mov qword [rbp - 0x58], r12
mov qword [rbp + 0xc0], r12
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d780]
cvttsd2si eax, xmm0
mov edi, ebx
sub edi, eax
movsx esi, r14w
sub esi, 9
mov ebx, 0x14
mov r13, qword [rbp + 0x88]
call fcn.14001af44
cdq
idiv edi
mov word [rbp - 0x50], dx
call fcn.14001af44
cdq
idiv esi
mov word [rbp - 0x4e], dx
cmp r15, r13
je 0x14000e5d4
mov eax, dword [rbp - 0x50]
mov dword [r15], eax
add r15, 4
mov qword [rbp + 0x80], r15
jmp 0x14000e5f2
lea r8, [rbp - 0x50]
mov rdx, r15
lea rcx, [rbp + 0x78]
call fcn.140011eb0
mov r15, qword [rbp + 0x80]
mov r13, qword [rbp + 0x88]
sub rbx, 1
jne 0x14000e5a4
mov qword [rbp - 0x68], r15
mov r13, qword [rbp - 0x70]
mov r9d, dword [rsp + 0x7c]
lea ecx, [r9 + 1]
test ecx, ecx
jle 0x14000e6a1
movd xmm0, dword [rsp + 0x60]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d780]
cvttsd2si eax, xmm0
mov edi, 1
sub edi, eax
movsx eax, r14w
cdq
sub eax, edx
sar eax, 1
lea esi, [rax - 9]
mov ebx, ecx
nop dword [rax]
call fcn.14001af44
cdq
idiv edi
mov word [rbp - 0x4c], dx
call fcn.14001af44
cdq
idiv esi
inc dx
mov word [rbp - 0x4a], dx
cmp r13, qword [rbp + 0xe8]
je 0x14000e678
mov eax, dword [rbp - 0x4c]
mov dword [r13], eax
add r13, 4
mov qword [rbp + 0xe0], r13
jmp 0x14000e692
lea r8, [rbp - 0x4c]
mov rdx, r13
lea rcx, [rbp + 0xd8]
call fcn.140011eb0
mov r13, qword [rbp + 0xe0]
sub rbx, 1
jne 0x14000e640
mov qword [rbp - 0x70], r13
mov r9d, dword [rsp + 0x7c]
inc r9d
mov dword [rsp + 0x7c], r9d
cvttss2si ecx, xmm10
cvttss2si r8d, xmm12
movsx edi, r8w
mov r11d, dword [rsp + 0x64]
movd xmm0, r11d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d740]
cvttsd2si eax, xmm0
mov esi, edi
sub esi, eax
mov r10d, dword [rsp + 0x60]
movd xmm0, r10d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d740]
cvttsd2si eax, xmm0
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm6
movsx r14d, cx
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
addss xmm0, xmm2
cvttss2si r15d, xmm0
subss xmm1, xmm2
cvttss2si ebx, xmm1
cmp byte [rbp + 0x312], 0
je 0x14000e77f
test bx, bx
js 0x14000e7fe
test r8w, r8w
js 0x14000e7fe
movsx edx, bx
mov r13d, dword [rbp + 0x204]
mov r12d, dword [rbp + 0x208]
cmp edx, r13d
jg 0x14000e80c
movsx ecx, r8w
cmp ecx, r12d
jg 0x14000e80c
sub edx, ebx
add edx, r14d
lea eax, [r13 - 1]
cmp edx, eax
jg 0x14000e80c
sub ecx, edi
add ecx, esi
lea eax, [r12 - 1]
cmp ecx, eax
jg 0x14000e80c
mov r12d, 2
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], edi
mov r9d, r15d
mov r8d, edi
mov edx, ebx
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov r8d, edi
mov edx, r15d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov r15d, r12d
mov word [rsp + 0x28], r12w
mov dword [rsp + 0x20], edi
mov r9d, ebx
mov r8d, esi
mov edx, r14d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov r12d, dword [rbp + 0x208]
mov r13d, dword [rbp + 0x204]
mov r10d, dword [rsp + 0x60]
mov r11d, dword [rsp + 0x64]
jmp 0x14000e812
mov r12d, dword [rbp + 0x208]
mov r13d, dword [rbp + 0x204]
mov r15d, 2
mov rax, qword [rbp - 0x68]
mov r8, qword [rbp + 0x78]
sub rax, r8
sar rax, 2
mov qword [rbp - 0x48], rax
xor ecx, ecx
mov qword [rbp - 0x40], rcx
test rax, rax
je 0x14000ead3
movd xmm0, r11d
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm9
cvttsd2si eax, xmm0
cdq
sub eax, edx
sar eax, 1
mov r9d, r15d
sub r9d, eax
mov dword [rbp + 0x70], r9d
movd xmm0, r10d
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm9
cvttsd2si eax, xmm0
sub r15d, eax
movd xmm0, r11d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d748]
cvttsd2si eax, xmm0
cdq
sub eax, edx
sar eax, 1
mov dword [rsp + 0x68], eax
movd xmm0, r10d
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d748]
cvttsd2si r14d, xmm0
mov dword [rsp + 0x70], r14d
nop dword [rax]
nop word [rax + rax]
mov ecx, dword [r8 + rcx*4]
mov dword [rsp + 0x78], ecx
lea ebx, [rcx - 1]
mov esi, ecx
shr esi, 0x10
dec si
cmp byte [rbp + 0x312], 0
je 0x14000e918
test bx, bx
js 0x14000e9bc
test si, si
js 0x14000e9bc
movsx eax, bx
cmp eax, r13d
jg 0x14000e9bc
movsx r8d, si
cmp r8d, r12d
jg 0x14000e9bc
lea edx, [rax + r15]
lea eax, [r13 - 1]
cmp edx, eax
jg 0x14000e9bc
lea edx, [r8 + r9]
lea eax, [r12 - 1]
cmp edx, eax
jg 0x14000e9bc
xor edx, edx
mov dword [rsp + 0x58], edx
mov eax, 8
mov word [rsp + 0x5a], ax
mov byte [rsp + 0x58], 0xdb
mov edi, edx
test r9d, r9d
jle 0x14000e9bc
mov eax, dword [rsp + 0x58]
mov r14d, dword [rbp + 0x70]
mov r9d, edx
test r15d, r15d
jle 0x14000e9b0
lea r11d, [rsi + rdi]
nop dword [rax]
lea r8d, [rbx + r9]
cmp byte [rbp + 0x169], 0
je 0x14000e9a6
movsx r10d, r8w
cmp r10d, r13d
jge 0x14000e9a6
movsx edx, r11w
cmp edx, r12d
jge 0x14000e9a6
cmp r8w, word [rbp + 0x1fe]
jl 0x14000e9a6
cmp r11w, word [rbp + 0x200]
jl 0x14000e9a6
imul edx, r13d
add edx, r10d
movsxd r8, edx
mov rdx, qword [rbp + 0x210]
mov dword [rdx + r8*4], eax
mov r12d, dword [rbp + 0x208]
mov r13d, dword [rbp + 0x204]
inc r9d
cmp r9d, r15d
jl 0x14000e950
xor edx, edx
inc edi
cmp edi, r14d
jl 0x14000e940
mov r14d, dword [rsp + 0x70]
movsx edi, word [rsp + 0x7a]
cmp byte [rbp + 0x312], 0
je 0x14000ea17
test cx, cx
js 0x14000eab6
test di, di
js 0x14000eab6
movsx eax, cx
cmp eax, r13d
jg 0x14000eab6
cmp edi, r12d
jg 0x14000eab6
lea edx, [rax + r14]
lea eax, [r13 - 1]
cmp edx, eax
jg 0x14000eab6
mov esi, dword [rsp + 0x68]
lea edx, [rdi + rsi]
lea eax, [r12 - 1]
cmp edx, eax
jg 0x14000eab6
jmp 0x14000ea1b
mov esi, dword [rsp + 0x68]
xor edx, edx
mov dword [rsp + 0x58], edx
mov eax, 7
mov word [rsp + 0x5a], ax
mov byte [rsp + 0x58], 0xdb
mov ebx, edx
test esi, esi
jle 0x14000eab6
mov eax, dword [rsp + 0x58]
nop
mov r9d, edx
test r14d, r14d
jle 0x14000eab0
lea r11d, [rdi + rbx]
nop dword [rax]
lea r8d, [rcx + r9]
cmp byte [rbp + 0x169], 0
je 0x14000eaa6
movsx r10d, r8w
cmp r10d, r13d
jge 0x14000eaa6
movsx edx, r11w
cmp edx, r12d
jge 0x14000eaa6
cmp r8w, word [rbp + 0x1fe]
jl 0x14000eaa6
cmp r11w, word [rbp + 0x200]
jl 0x14000eaa6
imul edx, r13d
add edx, r10d
movsxd r8, edx
mov rdx, qword [rbp + 0x210]
mov dword [rdx + r8*4], eax
mov r12d, dword [rbp + 0x208]
mov r13d, dword [rbp + 0x204]
inc r9d
cmp r9d, r14d
jl 0x14000ea50
xor edx, edx
inc ebx
cmp ebx, esi
jl 0x14000ea40
mov rcx, qword [rbp - 0x40]
inc rcx
mov qword [rbp - 0x40], rcx
cmp rcx, qword [rbp - 0x48]
mov r9d, dword [rbp + 0x70]
mov r8, qword [rbp + 0x78]
jb 0x14000e8b0
mov rbx, qword [rbp - 0x70]
mov r14, rbx
mov r15, qword [rbp + 0xd8]
sub r14, r15
sar r14, 2
xor esi, esi
test r14, r14
je 0x14000ebfb
movd xmm1, dword [rsp + 0x60]
cvtdq2pd xmm1, xmm1
nop dword [rax]
cmp word [r15 + rsi*4 + 2], 0xffff
je 0x14000ebeb
movaps xmm0, xmm1
mulsd xmm0, xmm15
cvttsd2si edi, xmm0
mov ebx, dword [r15 + rsi*4]
mov dword [rsp + 0x78], ebx
cmp edi, 2
jl 0x14000ebeb
cmp byte [rbp + 0x312], 0
je 0x14000eb97
test bx, bx
js 0x14000ebeb
mov eax, ebx
shr eax, 0x10
test ax, ax
js 0x14000ebeb
movsx ecx, bx
cmp ecx, r13d
jg 0x14000ebeb
movsx edx, ax
cmp edx, r12d
jg 0x14000ebeb
add ecx, edi
lea eax, [r13 - 1]
cmp ecx, eax
jg 0x14000ebeb
lea ecx, [rdx + rdi]
lea eax, [r12 - 1]
cmp ecx, eax
jg 0x14000ebeb
movsx eax, bx
cmp eax, r13d
jg 0x14000ebeb
mov eax, ebx
shr eax, 0x10
cmp eax, r12d
jg 0x14000ebeb
movsx ecx, bx
add ecx, edi
lea eax, [r13 - 1]
cmp ecx, eax
jg 0x14000ebeb
mov r8d, edi
mov edx, ebx
lea rcx, [rbp + 0x130]
call fcn.14000c1d0
inc bx
mov word [rbp - 0x34], bx
movzx eax, word [rsp + 0x7a]
inc ax
mov word [rbp - 0x32], ax
lea r8d, [rdi - 2]
mov byte [rsp + 0x28], 0xdb
mov word [rsp + 0x20], 4
mov r9d, r8d
mov edx, dword [rbp - 0x34]
lea rcx, [rbp + 0x130]
call fcn.14000ba00
mov r12d, dword [rbp + 0x208]
mov r13d, dword [rbp + 0x204]
inc rsi
cmp rsi, r14
jb 0x14000eb00
mov rbx, qword [rbp - 0x70]
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14000ec1f
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000ecad
comiss xmm7, dword [0x14003d720]
jb 0x14000ecad
cvttss2si eax, xmm10
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbp - 0x20], xmm0
movsx eax, word [rbp - 0x7c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [rbp - 0x1c], xmm1
mov rax, qword [rbp - 0x78]
cmp rax, qword [rbp + 0x100]
je 0x14000ec74
unpcklps xmm0, xmm1
movsd qword [rbp - 0x20], xmm0
movsd qword [rax], xmm0
add rax, 8
mov qword [rbp + 0xf8], rax
jmp 0x14000ec8e
lea r8, [rbp - 0x20]
mov rdx, rax
lea rcx, [rbp + 0xf0]
call fcn.140012040
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x78], rax
movss dword [rbp - 0x80], xmm13
xor edx, edx
mov r8d, 0x220013
lea rcx, str.shoot.wav
call qword [sym.imp.WINMM.dll_PlaySoundA]
mov ecx, 0x25
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000ecde
comiss xmm10, xmm13
jbe 0x14000ecd4
movaps xmm0, xmm11
mulss xmm0, dword [0x14003d760]
subss xmm10, xmm0
comiss xmm13, xmm10
jbe 0x14000ecde
movaps xmm10, xmm13
mov ecx, 0x27
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [rsp + 0x60]
test ax, ax
je 0x14000ed1a
movd xmm1, edx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm10
jbe 0x14000ed10
movaps xmm0, xmm11
mulss xmm0, dword [0x14003d760]
addss xmm10, xmm0
comiss xmm10, xmm1
jbe 0x14000ed1a
movaps xmm10, xmm1
xor r14d, r14d
mov r13d, r14d
mov qword [rsp + 0x58], r14
mov rsi, qword [rbp - 0x78]
mov r12, rsi
mov r9, qword [rbp + 0xf0]
sub r12, r9
mov qword [rbp - 0x40], r12
mov rax, r12
sar rax, 3
test rax, rax
je 0x14000f2f1
mov r15, rbx
sub r15, qword [rbp + 0xd8]
sar r15, 2
mov qword [rbp + 0x90], r15
movd xmm7, edx
cvtdq2pd xmm7, xmm7
movd xmm6, dword [rsp + 0x64]
cvtdq2pd xmm6, xmm6
mov rax, qword [rbp - 0x68]
mov r8, qword [rbp + 0x78]
sub rax, r8
mov qword [rbp - 0x18], rax
lea r14, [r9 + 8]
mov qword [rbp - 0x48], r14
nop dword [rax + rax]
movss xmm1, dword [r14 - 4]
lea rcx, [r14 - 8]
comiss xmm1, xmm13
jbe 0x14000f29e
movaps xmm0, xmm11
mulss xmm0, dword [0x14003d75c]
subss xmm1, xmm0
movss dword [r14 - 4], xmm1
cvttss2si ebx, dword [rcx]
cvttss2si esi, xmm1
mov dword [rsp + 0x70], esi
mov word [rbp - 0x24], bx
mov word [rbp - 0x22], si
mov edx, dword [rbp - 0x24]
cmp byte [rbp + 0x312], 0
je 0x14000ee51
test bx, bx
js 0x14000efeb
mov eax, edx
shr eax, 0x10
test ax, ax
js 0x14000efeb
movsx ecx, bx
mov r8d, dword [rbp + 0x204]
cmp ecx, r8d
jg 0x14000efe7
movsx r10d, ax
mov r9d, dword [rbp + 0x208]
cmp r10d, r9d
jg 0x14000efe7
add ecx, 3
lea eax, [r8 - 1]
cmp ecx, eax
jg 0x14000efe7
lea ecx, [r10 + 3]
lea eax, [r9 - 1]
cmp ecx, eax
jg 0x14000efe7
movsx eax, bx
cmp eax, r8d
jg 0x14000efe7
mov eax, edx
shr eax, 0x10
cmp eax, r9d
jg 0x14000efe7
mov eax, 4
mov r9d, eax
mov r8d, eax
lea rcx, [rbp + 0x130]
call fcn.14000c3f0
cmp byte [rbp + 0x312], 0
je 0x14000eec7
test bx, bx
js 0x14000efe7
test si, si
js 0x14000efe7
movsx ecx, bx
mov r8d, dword [rbp + 0x204]
cmp ecx, r8d
jg 0x14000efe7
movsx edx, si
mov r9d, dword [rbp + 0x208]
cmp edx, r9d
jg 0x14000efe7
add ecx, 3
lea eax, [r8 - 1]
cmp ecx, eax
jg 0x14000efe7
lea ecx, [rdx + 3]
lea eax, [r9 - 1]
cmp ecx, eax
jg 0x14000efe7
mov edi, 0xfffffff9
mov dword [rbp + 0x70], 0
mov r15d, 0x18
movsx ecx, si
lea esi, [rcx + 3]
movsx eax, bx
mov dword [rsp + 0x78], eax
mov r14d, eax
mov r13d, eax
lea r12d, [rax - 3]
mov edx, eax
sub edx, ecx
mov dword [rbp - 0x7c], edx
mov ebx, ecx
sub ebx, eax
mov dword [rsp + 0x68], ebx
nop
lea r8d, [rbx + r12]
mov word [rsp + 0x28], 6
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov edx, r13d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
lea r8d, [rbx + r13]
mov ebx, dword [rbp - 0x7c]
add ebx, esi
mov word [rsp + 0x28], 6
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov edx, r12d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov r8d, dword [rsp + 0x68]
add r8d, r14d
mov word [rsp + 0x28], 6
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov edx, r12d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov word [rsp + 0x28], 6
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov r8d, esi
mov edx, r13d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
test edi, edi
jle 0x14000ef9f
inc r12d
dec esi
sub r15d, 8
sub edi, r15d
inc r14d
dec r13d
mov eax, dword [rbp + 0x70]
add eax, 8
mov dword [rbp + 0x70], eax
add eax, 4
add edi, eax
mov ecx, r14d
sub ecx, dword [rsp + 0x78]
mov eax, esi
mov r8d, dword [rsp + 0x70]
movsx edx, r8w
sub eax, edx
cmp ecx, eax
mov ebx, dword [rsp + 0x68]
jle 0x14000ef00
mov r14, qword [rbp - 0x48]
mov r15, qword [rbp + 0x90]
mov r12, qword [rbp - 0x40]
mov r13, qword [rsp + 0x58]
mov r8, qword [rbp + 0x78]
cvttss2si ebx, dword [r14 - 8]
cvttss2si edi, dword [r14 - 4]
xor r9d, r9d
mov rsi, qword [rbp - 0x18]
mov r11, rsi
sar r11, 2
test r11, r11
je 0x14000f0e1
nop
lea r10, [r8 + r9*4]
mov r8d, dword [r10]
cmp bx, r8w
jl 0x14000f05e
movaps xmm0, xmm7
mulsd xmm0, xmm9
cvttsd2si eax, xmm0
movsx ecx, r8w
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f05e
shr r8d, 0x10
cmp di, r8w
jl 0x14000f05e
movaps xmm0, xmm6
mulsd xmm0, xmm9
cvttsd2si eax, xmm0
cdq
sub eax, edx
sar eax, 1
movsx ecx, r8w
sub ecx, eax
movsx eax, di
cmp eax, ecx
jle 0x14000f06c
inc r9
cmp r9, r11
jae 0x14000f0e1
mov r8, qword [rbp + 0x78]
jmp 0x14000f010
lea rdx, [r10 + 4]
mov r8, qword [rbp - 0x68]
sub r8, rdx
mov rcx, r10
call fcn.14002efc0
mov rax, qword [rbp - 0x68]
sub rax, 4
mov qword [rbp - 0x68], rax
mov qword [rbp + 0x80], rax
sub rsi, 4
mov qword [rbp - 0x18], rsi
mov rsi, qword [rbp - 0x78]
mov r8, rsi
sub r8, r14
lea rcx, [r14 - 8]
mov rdx, r14
call fcn.14002efc0
sub rsi, 8
mov qword [rbp - 0x78], rsi
mov qword [rbp + 0xf8], rsi
sub r12, 8
mov qword [rbp - 0x40], r12
inc dword [rbp - 0x5c]
xor edx, edx
mov r8d, 0x220013
lea rcx, str.break.wav
call qword [sym.imp.WINMM.dll_PlaySoundA]
jmp 0x14000f0e5
mov rsi, qword [rbp - 0x78]
xor r9d, r9d
mov r11, qword [rbp + 0xd8]
cmp r15, 4
jb 0x14000f241
lea r8, [r11 + 4]
lea r10, [r15 - 4]
shr r10, 2
inc r10
lea r9, [r10*4]
mov r13, 0xffffffffffffffff
mov edx, dword [r8 - 4]
cmp bx, dx
jl 0x14000f15d
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f15d
shr edx, 0x10
cmp di, dx
jl 0x14000f15d
movaps xmm0, xmm6
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, di
cmp eax, ecx
jg 0x14000f15d
mov word [r8 - 2], r13w
mov edx, dword [r8]
cmp bx, dx
jl 0x14000f1a2
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f1a2
shr edx, 0x10
cmp di, dx
jl 0x14000f1a2
movaps xmm0, xmm6
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, di
cmp eax, ecx
jg 0x14000f1a2
mov word [r8 + 2], r13w
mov edx, dword [r8 + 4]
cmp bx, dx
jl 0x14000f1e8
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f1e8
shr edx, 0x10
cmp di, dx
jl 0x14000f1e8
movaps xmm0, xmm6
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, di
cmp eax, ecx
jg 0x14000f1e8
mov word [r8 + 6], r13w
mov edx, dword [r8 + 8]
cmp bx, dx
jl 0x14000f22e
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f22e
shr edx, 0x10
cmp di, dx
jl 0x14000f22e
movaps xmm0, xmm6
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, di
cmp eax, ecx
jg 0x14000f22e
mov word [r8 + 0xa], r13w
add r8, 0x10
sub r10, 1
jne 0x14000f117
mov r13, qword [rsp + 0x58]
cmp r9, r15
jae 0x14000f2c3
mov edx, dword [r11 + r9*4]
cmp bx, dx
jl 0x14000f28f
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, bx
cmp eax, ecx
jg 0x14000f28f
shr edx, 0x10
cmp di, dx
jl 0x14000f28f
movaps xmm0, xmm6
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
movsx ecx, dx
sub ecx, eax
movsx eax, di
cmp eax, ecx
jg 0x14000f28f
mov word [r11 + r9*4 + 2], 0xffff
inc r9
cmp r9, r15
jb 0x14000f246
mov r13, qword [rsp + 0x58]
jmp 0x14000f2c3
mov r8, rsi
sub r8, r14
mov rdx, r14
call fcn.14002efc0
sub rsi, 8
mov qword [rbp - 0x78], rsi
mov qword [rbp + 0xf8], rsi
sub r12, 8
mov qword [rbp - 0x40], r12
inc r13
mov qword [rsp + 0x58], r13
add r14, 8
mov qword [rbp - 0x48], r14
mov rax, r12
sar rax, 3
cmp r13, rax
mov r8, qword [rbp + 0x78]
jb 0x14000ed90
mov r15, qword [rbp + 0xd8]
xor r14d, r14d
comiss xmm14, dword [0x14003d750]
jb 0x14000f3f8
mov rdi, qword [rbp - 0x70]
sub rdi, r15
sar rdi, 2
test rdi, rdi
je 0x14000f3f4
movd xmm6, dword [rsp + 0x60]
cvtdq2pd xmm6, xmm6
movd xmm7, dword [rsp + 0x64]
cvtdq2pd xmm7, xmm7
lea rbx, [r15 + 2]
movss xmm14, dword [0x14003d724]
nop dword [rax]
nop dword [rax + rax]
movsx ecx, word [rbx]
cmp cx, 0xffff
je 0x14000f3e6
movaps xmm0, xmm6
mulsd xmm0, xmm15
cvttsd2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm14
movsx eax, word [rbx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [rbp + 0xb0], xmm1
movaps xmm0, xmm7
mulsd xmm0, xmm8
cvttsd2si eax, xmm0
sub ecx, eax
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movss dword [rbp + 0xb4], xmm2
mov rax, qword [rbp - 0x58]
cmp rax, qword [rbp + 0xc8]
je 0x14000f3c5
movaps xmm0, xmm1
unpcklps xmm0, xmm2
movsd qword [rbp + 0xb0], xmm0
movsd qword [rax], xmm0
add rax, 8
mov qword [rbp + 0xc0], rax
jmp 0x14000f3e2
lea r8, [rbp + 0xb0]
mov rdx, rax
lea rcx, [rbp + 0xb8]
call fcn.140012040
mov rax, qword [rbp + 0xc0]
mov qword [rbp - 0x58], rax
add rbx, 4
sub rdi, 1
jne 0x14000f340
movaps xmm14, xmm13
mov rdx, r14
mov qword [rbp - 0x48], rdx
mov r12, qword [rbp - 0x58]
mov r8, r12
mov rbx, qword [rbp + 0xb8]
sub r8, rbx
sar r8, 3
mov qword [rsp + 0x70], r8
movss xmm6, dword [0x14003d724]
test r8, r8
je 0x14000f762
mov edi, dword [rsp + 0x64]
movd xmm4, edi
cvtdq2ps xmm4, xmm4
movd xmm0, dword [rsp + 0x60]
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d740]
cvttsd2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm3, xmm6
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x14003d740]
cvttsd2si r9d, xmm0
mov dword [rsp + 0x58], r9d
movss xmm5, dword [0x14003d758]
nop dword [rax + rax]
lea rcx, [rbx + rdx*8]
movss xmm1, dword [rcx]
movss xmm2, dword [rbx + rdx*8 + 4]
comiss xmm2, xmm4
ja 0x14000f740
mov eax, dword [rsp + 0x7c]
add eax, eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm5
mulss xmm0, xmm11
addss xmm2, xmm0
cvttss2si ebx, xmm1
cvttss2si esi, xmm2
mov word [rbp - 0x2c], bx
mov word [rbp - 0x2a], si
mov edx, dword [rbp - 0x2c]
cmp byte [rbp + 0x312], 0
je 0x14000f544
test bx, bx
js 0x14000f6d0
mov eax, edx
shr eax, 0x10
test ax, ax
js 0x14000f6d0
movsx ecx, bx
mov r8d, dword [rbp + 0x204]
cmp ecx, r8d
jg 0x14000f6cb
movsx r10d, ax
mov r9d, dword [rbp + 0x208]
cmp r10d, r9d
jg 0x14000f6c6
add ecx, 3
lea eax, [r8 - 1]
cmp ecx, eax
jg 0x14000f6c6
lea ecx, [r10 + 3]
lea eax, [r9 - 1]
cmp ecx, eax
jg 0x14000f6c6
movsx eax, bx
cmp eax, r8d
jg 0x14000f6c6
mov eax, edx
shr eax, 0x10
cmp eax, r9d
jg 0x14000f6c6
mov eax, 4
mov r9d, eax
mov r8d, eax
lea rcx, [rbp + 0x130]
call fcn.14000c3f0
cmp byte [rbp + 0x312], 0
je 0x14000f5b6
test bx, bx
js 0x14000f6c6
test si, si
js 0x14000f6c6
movsx ecx, bx
mov eax, dword [rbp + 0x204]
cmp ecx, eax
jg 0x14000f6c6
movsx edx, si
mov r8d, dword [rbp + 0x208]
cmp edx, r8d
jg 0x14000f6c6
add ecx, 3
dec eax
cmp ecx, eax
jg 0x14000f6c6
lea ecx, [rdx + 3]
lea eax, [r8 - 1]
cmp ecx, eax
jg 0x14000f6c6
mov edi, 0xfffffff9
mov dword [rbp + 0x70], r14d
mov r15d, 0x18
movsx ecx, si
lea esi, [rcx + 3]
movsx eax, bx
mov dword [rsp + 0x78], eax
mov r14d, eax
mov r13d, eax
lea r12d, [rax - 3]
mov edx, eax
sub edx, ecx
mov dword [rbp - 0x7c], edx
mov ebx, ecx
sub ebx, eax
mov dword [rsp + 0x68], ebx
nop dword [rax + rax]
lea r8d, [rbx + r12]
mov word [rsp + 0x28], 1
mov dword [rsp + 0x20], r8d
mov r9d, r14d
mov edx, r13d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
lea r8d, [rbx + r13]
mov ebx, dword [rbp - 0x7c]
add ebx, esi
mov word [rsp + 0x28], 1
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov edx, r12d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov r8d, dword [rsp + 0x68]
add r8d, r14d
mov word [rsp + 0x28], 1
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov edx, r12d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
mov word [rsp + 0x28], 1
mov dword [rsp + 0x20], esi
mov r9d, r14d
mov r8d, esi
mov edx, r13d
lea rcx, [rbp + 0x130]
call fcn.14000baf0
test edi, edi
jle 0x14000f68f
inc r12d
dec esi
sub r15d, 8
sub edi, r15d
inc r14d
dec r13d
mov eax, dword [rbp + 0x70]
add eax, 8
mov dword [rbp + 0x70], eax
add eax, 4
add edi, eax
mov ecx, r14d
sub ecx, dword [rsp + 0x78]
mov eax, esi
cvttss2si r8d, xmm2
movsx edx, r8w
sub eax, edx
cmp ecx, eax
mov ebx, dword [rsp + 0x68]
jle 0x14000f5f0
xor r14d, r14d
mov r9d, dword [rsp + 0x58]
mov r8, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x48]
mov rbx, qword [rbp + 0xb8]
movss dword [rbx + rdx*8], xmm1
movss dword [rbx + rdx*8 + 4], xmm2
movaps xmm0, xmm10
subss xmm0, xmm3
comiss xmm1, xmm0
jb 0x14000f72a
movaps xmm0, xmm3
addss xmm0, xmm10
comiss xmm0, xmm1
jb 0x14000f72a
comiss xmm12, xmm2
jb 0x14000f72a
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm12
subss xmm1, xmm0
mov eax, dword [rbp - 0x60]
movzx eax, al
comiss xmm2, xmm1
mov ecx, 1
cmovae eax, ecx
mov dword [rbp - 0x60], eax
inc rdx
mov qword [rbp - 0x48], rdx
cmp rdx, r8
jb 0x14000f480
mov r12, qword [rbp - 0x58]
jmp 0x14000f762
lea rdx, [rcx + 8]
mov r12, qword [rbp - 0x58]
mov r8, r12
sub r8, rdx
call fcn.14002efc0
sub r12, 8
mov qword [rbp - 0x58], r12
mov qword [rbp + 0xc0], r12
mov edx, dword [rsp + 0x7c]
lea rcx, [rbp + 0x50]
call fcn.140010c20
nop
mov edx, dword [rbp - 0x5c]
lea rcx, [rbp - 0x10]
call fcn.140010c20
nop
mov r9d, 7
lea r8, str.Score:
lea rcx, [rbp - 0x10]
call fcn.140011dc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xa8], r14
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x90], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xa0], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 8
lea rdx, str._nLevel:
lea rcx, [rbp + 0x90]
call fcn.1400107c0
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x20], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea r9, [rbp + 0x50]
lea r8, [rbp + 0x10]
lea rcx, [rbp + 0x30]
call fcn.140011b90
nop
mov dword [rbp - 0x30], 0x50005
mov edi, 1
mov word [rsp + 0x40], di
mov dword [rsp + 0x20], edi
mov r9d, edi
lea r8, [rbp + 0x30]
mov edx, dword [rbp - 0x30]
lea rcx, [rbp + 0x130]
call fcn.14000be10
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 0xf
jbe 0x14000f880
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f87a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fb8a
call fcn.140015110
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0xf
jbe 0x14000f8bc
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f8b6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fb90
call fcn.140015110
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 0xf
jbe 0x14000f8fd
inc rdx
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f8f8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fb96
call fcn.140015110
mov qword [rbp + 0xa0], r14
mov qword [rbp + 0xa8], 0xf
mov byte [rbp + 0x90], 0
mov rdx, qword [rbp + 8]
cmp rdx, 0xf
jbe 0x14000f951
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f94c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fb9c
call fcn.140015110
mov qword [rbp], r14
mov qword [rbp + 8], 0xf
mov byte [rbp - 0x10], 0
mov rdx, qword [rbp + 0x68]
cmp rdx, 0xf
jbe 0x14000f99c
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000f997
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000fba2
call fcn.140015110
movss xmm7, dword [rbp - 0x80]
addss xmm7, xmm11
movss dword [rbp - 0x80], xmm7
addss xmm14, xmm11
mov rcx, qword [rbp + 0x238]
mov rbx, rcx
mov dword [rbp + 0x70], r14d
movzx eax, byte [rbp + 0x310]
test al, al
je 0x14000fa64
cmp byte [rbp + 0x168], 0
jne 0x14000fa06
mov qword [rsp + 0x20], r14
mov r9d, edi
xor r8d, r8d
mov edx, 3
mov ecx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateConsoleScreenBuffer]
mov byte [rbp + 0x168], 1
movzx eax, byte [rbp + 0x310]
mov rcx, qword [rbp + 0x238]
test al, al
je 0x14000fa64
call qword [sym.imp.KERNEL32.dll_SetConsoleActiveScreenBuffer]
mov r8d, dword [rbp + 0x208]
imul r8d, dword [rbp + 0x204]
xor edx, edx
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x1fe]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputAttribute]
mov r8d, dword [rbp + 0x208]
imul r8d, dword [rbp + 0x204]
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x1fe]
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FillConsoleOutputCharacterA]
movzx eax, word [rbp + 0x1fe]
mov word [rbp + 0x110], ax
movzx r8d, word [rbp + 0x200]
mov word [rbp + 0x112], r8w
movzx edx, word [rbp + 0x204]
add ax, dx
mov word [rbp + 0x114], ax
movzx eax, word [rbp + 0x208]
add r8w, ax
mov word [rbp + 0x116], r8w
mov word [rbp - 0x28], dx
mov word [rbp - 0x26], ax
lea rax, [rbp + 0x110]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp + 0x1fe]
mov r8d, dword [rbp - 0x28]
mov rdx, qword [rbp + 0x210]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteConsoleOutputA]
cmp byte [rbp + 0x310], 0
je 0x14000fae7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_SetConsoleActiveScreenBuffer]
lea rcx, [rbp + 0x130]
call fcn.14000cab0
test al, al
mov r13, qword [rbp - 0x70]
mov rbx, 0xffffffffffffffff
je 0x14000e1e0
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov ebx, r14d
lea rdx, [rbp + 0x330]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x14000fb2f
mov ebx, dword [rbp + 0x338]
sub ebx, dword [rbp + 0x330]
movsx eax, bx
xor edx, edx
div dword [rbp + 0x318]
mov dword [rsp + 0x60], eax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov ebx, r14d
lea rdx, [rbp + 0x340]
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x14000fb67
mov ebx, dword [rbp + 0x34c]
sub ebx, dword [rbp + 0x344]
movsx eax, bx
xor edx, edx
div dword [rbp + 0x31c]
mov dword [rsp + 0x64], eax
mov byte [rsp + 0x51], 1
mov r13, qword [rbp - 0x70]
jmp 0x14000e1d1
call fcn.14001c30c
nop
call fcn.14001c30c
nop
call fcn.14001c30c
nop
call fcn.14001c30c
nop
call fcn.14001c30c
nop
call fcn.14001c30c
int3