Function at 0x4034e2
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push 0
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
mov dword [ebp - 8], eax
mov eax, 0xfffffffe
mov ecx, dword [ebp + 0xc]
shl eax, cl
mov ecx, dword [ebp - 8]
and ecx, eax
mov dword [ebp - 8], ecx
mov edx, dword [ebp + 0xc]
push edx
push 2
call fcn.004098ad
add esp, 8
mov dword [ebp - 0xc], eax
call fcn.0040be09
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x7d0
cdq
idiv ecx
mov eax, edx
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x14
cdq
idiv ecx
mov edx, 0x2bc
sub edx, eax
mov dword [ebp - 0x14], edx
push 0xe1e1e1
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x403571
cmp dword [ebp - 0x18], 0xffffffff
jne 0x4035a5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40eb04
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
push 0x40eb10
lea eax, [ebp - 0x80]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
jmp 0x4035b6
mov edx, dword [ebp - 0x1c]
sub edx, 0x64
mov dword [ebp - 0x1c], edx
cmp dword [ebp - 0x1c], 0x32
jle 0x403626
push 0
push 0
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_MoveToEx]
push 0x1ae
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [ebp - 8]
push ecx
call fcn.0040bdd0
add esp, 4
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x10]
push edx
call sub.MSVCRT.dll_strlen
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
push 0x1af
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x1c
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.GDI32.dll_TextOutA]
mov eax, dword [ebp - 0xc]
shl eax, 1
mov ecx, dword [ebp - 8]
sub ecx, eax
mov dword [ebp - 8], ecx
jmp 0x4035ad
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xff
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x40365f
cmp dword [ebp - 0x18], 0xffffffff
jne 0x403699
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40eb1c
lea edx, [ebp - 0xe4]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
push 0x40eb28
lea eax, [ebp - 0xe4]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [0x4a6140]
imul ecx, ecx, 0x9650
add ecx, 0x413b48
push ecx
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0040375e
add esp, 0xc
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
push 0xff0000
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 - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x4036f5
cmp dword [ebp - 0x18], 0xffffffff
jne 0x40372f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x40eb34
lea ecx, [ebp - 0x148]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
push 0x40eb40
lea edx, [ebp - 0x148]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.MSVCRT.dll_exit]
mov eax, dword [0x4a6140]
imul eax, eax, 0x9650
add eax, 0x40f048
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0040375e
add esp, 0xc
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esp, ebp
pop ebp
ret