Function at 0x40183c
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [esp], 0x44101a
call sym._system
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Map__
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Paint__
call sym.__kbhit
test eax, eax
je 0x40190d
call sym.__getch
mov byte [ebp - 1], al
cmp byte [ebp - 1], 0x57
je 0x401887
cmp byte [ebp - 1], 0x77
je 0x401887
jmp 0x40189a
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 3
je 0x40189a
mov eax, dword [ebp + 8]
mov dword [eax + 4], 1
cmp byte [ebp - 1], 0x53
je 0x4018a8
cmp byte [ebp - 1], 0x73
je 0x4018a8
jmp 0x4018bb
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 1
je 0x4018bb
mov eax, dword [ebp + 8]
mov dword [eax + 4], 3
cmp byte [ebp - 1], 0x41
je 0x4018c9
cmp byte [ebp - 1], 0x61
je 0x4018c9
jmp 0x4018dc
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 4
je 0x4018dc
mov eax, dword [ebp + 8]
mov dword [eax + 4], 2
cmp byte [ebp - 1], 0x44
je 0x4018ea
cmp byte [ebp - 1], 0x64
je 0x4018ea
jmp 0x4018fd
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 2
je 0x4018fd
mov eax, dword [ebp + 8]
mov dword [eax + 4], 4
call sym.__kbhit
test eax, eax
je 0x40190d
call sym.__getch
jmp 0x4018fd
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 0
jne 0x40192b
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Food__
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Move__
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, dword [edx + 0x14]
jne 0x401a21
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp eax, dword [edx + 0x18]
jne 0x401a21
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], 0
mov eax, dword [ebp + 8]
inc dword [eax + 8]
mov dword [esp + 4], 5
mov dword [esp], 0x36
call sym.SetPos_int__int_
mov dword [esp + 4], 0x44100b
mov dword [esp], 0x4443d0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call method.std::ostream.operator___int_
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x401a13
mov eax, dword [ebp + 8]
inc dword [eax + 0xc]
mov dword [esp + 4], 7
mov dword [esp], 0x36
call sym.SetPos_int__int_
mov dword [esp + 4], str.LEVEL:
mov dword [esp], 0x4443d0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 4], eax
mov dword [esp], edx
call method.std::ostream.operator___int_
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0xa
jne 0x401a21
jmp 0x401ade
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Paint__
mov eax, dword [ebp + 8]
cmp dword [eax + 0x10], 1
jne 0x401a9d
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
cmp dword [eax + 8], 0
je 0x401a54
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov dword [ebp - 8], eax
jmp 0x401a3d
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp], eax
call sym.SetPos_int__int_
mov dword [esp + 4], 0x44101e
mov dword [esp], 0x4443d0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov eax, dword [ebp - 8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 8]
mov dword [eax + 8], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call method.Sneak.Over__
test eax, eax
je 0x401aae
jmp 0x401ade
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0xc]
mov eax, edx
shl eax, 2
add eax, edx
lea edx, [eax*4]
add eax, edx
lea edx, [eax + eax]
mov eax, 0x1f4
sub eax, edx
mov dword [esp], eax
call sub.KERNEL32.dll_Sleep
sub esp, 4
jmp 0x401864
mov dword [esp], 0x44101a
call sym._system
mov eax, dword [ebp + 8]
cmp dword [eax + 0xc], 0xa
jne 0x401b39
mov dword [esp + 4], 0x19
mov dword [esp], 0x19
call sym.SetPos_int__int_
mov dword [esp + 4], 0x441020
mov dword [esp], 0x4443d0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov dword [esp + 4], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov dword [esp], eax
call method.std::ostream.operator___std::ostream____std::ostream__
mov dword [esp], str.pause
call sym._system
jmp 0x401b91
mov dword [esp + 4], 0xa
mov dword [esp], 0x19
call sym.SetPos_int__int_
mov dword [esp + 4], str._0__
mov dword [esp], 0x4443d0
call method.std::basic_ostream_char__std::char_traits_char____std::operator____std.char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], edx
call method.std::ostream.operator___int_
mov dword [esp + 4], method.std::basic_ostream_char__std::char_traits_char____std::endl_char__std.char_traits_char____std::basic_ostream_char__std::char_traits_char____
mov dword [esp], eax
call method.std::ostream.operator___std::ostream____std::ostream__
mov dword [esp], str.pause
call sym._system
leave
ret