Function at 0x408900
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov dword [ebp - 0x14], 0
mov eax, dword [0x4a5d38]
sub eax, dword [0x4a5d30]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
mov ecx, dword [0x4a5d3c]
sub ecx, dword [0x4a5d34]
mov dword [ebp - 8], ecx
push 0xffffff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x50], eax
mov edx, dword [ebp - 0x50]
push edx
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_FillRect]
mov edx, dword [ebp - 0x50]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0
push 0x1ae
push 0x32
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
push 0
push 0x32
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_LineTo]
push 0
push 0x1ae
push 0x32
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_MoveToEx]
push 0x1ae
push 0x320
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [0x40ef74]
mov dword [ebp - 0x48], ecx
mov dx, word [0x40ef78]
mov word [ebp - 0x44], dx
xor eax, eax
mov dword [ebp - 0x42], eax
mov ecx, dword [0x40ef6c]
mov dword [ebp - 0x3e], ecx
mov dx, word [0x40ef70]
mov word [ebp - 0x3a], dx
xor eax, eax
mov dword [ebp - 0x38], eax
mov ecx, dword [0x40ef64]
mov dword [ebp - 0x34], ecx
mov dx, word [0x40ef68]
mov word [ebp - 0x30], dx
mov al, byte [0x40ef6a]
mov byte [ebp - 0x2e], al
xor ecx, ecx
mov word [ebp - 0x2d], cx
mov byte [ebp - 0x2b], cl
mov dx, word [0x40ef60]
mov word [ebp - 0x2a], dx
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov cx, word [0x40ef5c]
mov word [ebp - 0x20], cx
mov dl, byte [0x40ef5e]
mov byte [ebp - 0x1e], dl
xor eax, eax
mov dword [ebp - 0x1d], eax
mov word [ebp - 0x19], ax
mov byte [ebp - 0x17], al
cmp dword [0x4a6140], 0
jl 0x408a8d
cmp dword [0x4a6140], 0xf
jg 0x408a8d
mov ecx, dword [0x4a6140]
imul ecx, ecx, 0x9650
mov edx, dword [ecx + 0x41866c]
imul edx, edx, 0xa
lea eax, [ebp + edx - 0x48]
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
push eax
mov ecx, dword [0x4a6140]
imul ecx, ecx, 0x9650
mov edx, dword [ecx + 0x41866c]
imul edx, edx, 0xa
lea eax, [ebp + edx - 0x48]
push eax
push 0xd
push 0x34
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_TextOutA]
push 0xe1e1e1
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
je 0x408abc
cmp dword [ebp - 0x4c], 0xffffffff
jne 0x408af6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40ef88
lea ecx, [ebp - 0xb8]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
push 0x40ef7c
lea edx, [ebp - 0xb8]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.MSVCRT.dll_exit]
mov dword [ebp - 0x54], 0
jmp 0x408b08
mov eax, dword [ebp - 0x54]
add eax, 1
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 8
jge 0x408b49
push 0
mov ecx, dword [ebp - 0x54]
imul ecx, ecx, 0x3c
mov edx, 0x1ae
sub edx, ecx
push edx
push 0x32
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
mov ecx, dword [ebp - 0x54]
imul ecx, ecx, 0x3c
mov edx, 0x1ae
sub edx, ecx
push edx
push 0x320
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
jmp 0x408aff
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esp, ebp
pop ebp
ret