Function at 0x140001b6c
Capabilities:
Hide graphical window

Disassembly:
push rbp
push rbx
sub rsp, 0xf8
lea rbp, [rsp + 0xf0]
call sym.__main
mov ecx, 0
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call rax
mov qword [rbp - 8], rax
mov r8d, 0
mov edx, 0x10ca0000
lea rax, [0x140003010]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_AdjustWindowRect]
call rax
pxor xmm0, xmm0
movaps xmmword [rbp - 0x60], xmm0
movaps xmmword [rbp - 0x50], xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x30], xmm0
movaps xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x60], 0x50
mov dword [rbp - 0x5c], 0x23
lea rax, [sym.WindowProc]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x48], rax
mov edx, 0x7f00
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_LoadIconA]
call rax
mov qword [rbp - 0x40], rax
mov edx, 0x7f00
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_LoadCursorA]
call rax
mov qword [rbp - 0x38], rax
mov ecx, 0
mov rax, qword [sym.imp.GDI32.dll_CreateSolidBrush]
call rax
mov qword [rbp - 0x30], rax
mov rax, qword [section..data]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x60]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_RegisterClassExA]
call rax
mov edx, dword [0x14000301c]
mov eax, dword [0x140003014]
sub edx, eax
mov r8d, edx
mov edx, dword [0x140003018]
mov eax, dword [0x140003010]
sub edx, eax
mov ecx, edx
mov r10, qword [section..data]
mov rax, qword [section..data]
mov qword [rsp + 0x58], 0
mov rdx, qword [rbp - 8]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], ecx
mov dword [rsp + 0x28], 0x80000000
mov dword [rsp + 0x20], 0x80000000
mov r9d, 0x10ca0000
mov r8, r10
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_CreateWindowExA]
call rax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov edx, 5
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_ShowWindow]
call rax
mov rax, qword [rbp - 0x10]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_UpdateWindow]
call rax
mov ecx, 0
call sym.time
mov ecx, eax
call sym.srand
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
call rax
mov r8d, 0x600
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_HeapAlloc]
call rax
mov qword [0x140007030], rax
mov rax, qword [0x140007030]
mov dword [rax], 8
mov rax, qword [0x140007030]
mov dword [rax + 4], 6
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
call rax
mov r8d, 0x20
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_HeapAlloc]
call rax
mov qword [0x140007048], rax
call sym.SetFood
mov rax, qword [rbp - 0x10]
mov r9d, 0
mov r8d, 0x96
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_SetTimer]
call rax
jmp 0x140001dbd
lea rax, [rbp - 0x90]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_TranslateMessage]
call rax
lea rax, [rbp - 0x90]
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_DispatchMessageA]
call rax
lea rax, [rbp - 0x90]
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.USER32.dll_GetMessageA]
call rax
test eax, eax
jne 0x140001d97
mov rbx, qword [0x140007048]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
call rax
mov r8, rbx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_HeapFree]
call rax
mov rbx, qword [0x140007030]
mov rax, qword [sym.imp.KERNEL32.dll_GetProcessHeap]
call rax
mov r8, rbx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_HeapFree]
call rax
mov eax, 0
add rsp, 0xf8
pop rbx
pop rbp
ret