Function at 0x140011280
Capabilities:
Execute command

Disassembly:
jmp 0x140012040
push rbp
push rdi
sub rsp, 0x208
lea rbp, [rsp + 0x20]
lea rcx, [0x1404b80a4]
call fcn.14001138e
mov dword [rbp + 4], 0
mov dword [rbp + 0x64], 0xfffffffe
mov dword [rbp + 0x84], 1
cmp dword [rbp + 0x84], 0
je 0x140012652
cmp dword [rbp + 0x64], 0xfffffffe
jne 0x14001238b
mov dword [0x1404b35b4], 7
mov byte [0x1404b35b0], 0x48
xor eax, eax
cmp eax, 1
je 0x1400122c6
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov eax, dword [rax + rcx*4]
mov dword [rbp + 0xa4], eax
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0xfffffffc
lea rcx, [0x14001ac38]
call qword [sym.imp.ucrtbased.dll_system]
call fcn.14001137f
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov edx, dword [rbp + 0xa4]
mov dword [rax + rcx*4], edx
lea rcx, str.O_turn__n
call fcn.1400111a9
call qword [sym.imp.ucrtbased.dll__getch]
mov dword [rbp + 0xc4], eax
mov eax, dword [rbp + 0xc4]
mov dword [rbp + 0x1d4], eax
cmp dword [rbp + 0x1d4], 0x48
je 0x1400121f7
cmp dword [rbp + 0x1d4], 0x4b
je 0x1400121a0
cmp dword [rbp + 0x1d4], 0x4d
je 0x1400121cd
cmp dword [rbp + 0x1d4], 0x50
je 0x140012226
jmp 0x140012253
mov eax, dword [0x1404b35b4]
dec eax
cmp eax, 1
jl 0x1400121c8
mov eax, dword [0x1404b35b4]
dec eax
cmp eax, 0xf
jg 0x1400121c8
mov eax, dword [0x1404b35b4]
dec eax
mov dword [0x1404b35b4], eax
jmp 0x140012253
mov eax, dword [0x1404b35b4]
inc eax
cmp eax, 1
jl 0x1400121f5
mov eax, dword [0x1404b35b4]
inc eax
cmp eax, 0xf
jg 0x1400121f5
mov eax, dword [0x1404b35b4]
inc eax
mov dword [0x1404b35b4], eax
jmp 0x140012253
movsx eax, byte [0x1404b35b0]
sub eax, 0x41
cmp eax, 1
jl 0x140012224
movsx eax, byte [0x1404b35b0]
sub eax, 0x41
cmp eax, 0xf
jg 0x140012224
movzx eax, byte [0x1404b35b0]
dec al
mov byte [0x1404b35b0], al
jmp 0x140012253
movsx eax, byte [0x1404b35b0]
sub eax, 0x3f
cmp eax, 1
jl 0x140012253
movsx eax, byte [0x1404b35b0]
sub eax, 0x3f
cmp eax, 0xf
jg 0x140012253
movzx eax, byte [0x1404b35b0]
inc al
mov byte [0x1404b35b0], al
cmp dword [rbp + 0xc4], 0xd
jne 0x1400122c1
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
cmp dword [rax + rcx*4], 0
jne 0x1400122c1
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0xfffffffe
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
jmp 0x1400122c6
jmp 0x14001209b
mov ecx, 0xfffffffe
call fcn.140011311
mov dword [0x1404b35c0], eax
mov eax, dword [0x1404b35c0]
mov dword [rbp + 0x1d4], eax
cmp dword [rbp + 0x1d4], 0xfffffffe
je 0x1400122f9
cmp dword [rbp + 0x1d4], 0xffffffff
je 0x140012323
jmp 0x14001237f
lea rcx, [0x14001ac38]
call qword [sym.imp.ucrtbased.dll_system]
call fcn.14001137f
lea rcx, str.O_WIN
call fcn.1400111a9
mov dword [rbp + 0x84], 0
jmp 0x140012386
lea rcx, [0x14001ac38]
call qword [sym.imp.ucrtbased.dll_system]
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0
call fcn.14001137f
lea rcx, [0x14001ac58]
call fcn.1400111a9
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x14001208a
mov dword [rbp + 0x64], 0xffffffff
jmp 0x14001264d
mov dword [0x1404b35b4], 7
mov byte [0x1404b35b0], 0x48
xor eax, eax
cmp eax, 1
je 0x1400125c7
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov eax, dword [rax + rcx*4]
mov dword [rbp + 0xe4], eax
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0xfffffffd
lea rcx, [0x14001ac38]
call qword [sym.imp.ucrtbased.dll_system]
call fcn.14001137f
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov edx, dword [rbp + 0xe4]
mov dword [rax + rcx*4], edx
lea rcx, str.X_turn__n
call fcn.1400111a9
call qword [sym.imp.ucrtbased.dll__getch]
mov dword [rbp + 0x104], eax
mov eax, dword [rbp + 0x104]
mov dword [rbp + 0x1d4], eax
cmp dword [rbp + 0x1d4], 0x48
je 0x1400124f8
cmp dword [rbp + 0x1d4], 0x4b
je 0x1400124a1
cmp dword [rbp + 0x1d4], 0x4d
je 0x1400124ce
cmp dword [rbp + 0x1d4], 0x50
je 0x140012527
jmp 0x140012554
mov eax, dword [0x1404b35b4]
dec eax
cmp eax, 1
jl 0x1400124c9
mov eax, dword [0x1404b35b4]
dec eax
cmp eax, 0xf
jg 0x1400124c9
mov eax, dword [0x1404b35b4]
dec eax
mov dword [0x1404b35b4], eax
jmp 0x140012554
mov eax, dword [0x1404b35b4]
inc eax
cmp eax, 1
jl 0x1400124f6
mov eax, dword [0x1404b35b4]
inc eax
cmp eax, 0xf
jg 0x1400124f6
mov eax, dword [0x1404b35b4]
inc eax
mov dword [0x1404b35b4], eax
jmp 0x140012554
movsx eax, byte [0x1404b35b0]
sub eax, 0x41
cmp eax, 1
jl 0x140012525
movsx eax, byte [0x1404b35b0]
sub eax, 0x41
cmp eax, 0xf
jg 0x140012525
movzx eax, byte [0x1404b35b0]
dec al
mov byte [0x1404b35b0], al
jmp 0x140012554
movsx eax, byte [0x1404b35b0]
sub eax, 0x3f
cmp eax, 1
jl 0x140012554
movsx eax, byte [0x1404b35b0]
sub eax, 0x3f
cmp eax, 0xf
jg 0x140012554
movzx eax, byte [0x1404b35b0]
inc al
mov byte [0x1404b35b0], al
cmp dword [rbp + 0x104], 0xd
jne 0x1400125c2
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
cmp dword [rax + rcx*4], 0
jne 0x1400125c2
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0xffffffff
mov eax, dword [rbp + 4]
inc eax
mov dword [rbp + 4], eax
jmp 0x1400125c7
jmp 0x14001239c
movsx eax, byte [0x1404b35b0]
sub eax, 0x40
cdqe
imul rax, rax, 0xfa4
lea rcx, [0x14001d050]
add rcx, rax
mov rax, rcx
movsxd rcx, dword [0x1404b35b4]
mov dword [rax + rcx*4], 0xffffffff
mov ecx, 0xffffffff
call fcn.140011311
mov dword [0x1404b35c0], eax
mov eax, dword [0x1404b35c0]
mov dword [rbp + 0x1d4], eax
cmp dword [rbp + 0x1d4], 0xffffffff
je 0x14001261c
jmp 0x140012646
lea rcx, [0x14001ac38]
call qword [sym.imp.ucrtbased.dll_system]
call fcn.14001137f
lea rcx, str.X_WIN
call fcn.1400111a9
mov dword [rbp + 0x84], 0
jmp 0x14001264d
mov dword [rbp + 0x64], 0xfffffffe
jmp 0x140012073
xor eax, eax
lea rsp, [rbp + 0x1e8]
pop rdi
pop rbp
ret