Function at 0x401000
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x15c
push ebx
push esi
push edi
lea edi, [ebp - 0x15c]
mov ecx, 0x57
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 0x98], 3
mov dword [ebp - 0x94], 0x4012a0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x88], eax
mov esi, esp
push 0x7f04
push 0
call dword [sym.imp.USER32.dll_LoadIconA]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x84], eax
mov esi, esp
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x80], eax
mov esi, esp
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], str.AutoRun
mov dword [ebp - 0x74], str.AutoRun
mov dword [0x418048], 0x411248
mov eax, dword [0x418048]
push eax
call fcn.004022b0
add esp, 4
mov dword [0x415c00], eax
cmp dword [0x415c00], 0
jne 0x4010f0
mov esi, esp
push 0x10
push 0x41123c
push 0x411228
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00402860
xor eax, eax
jmp 0x401242
mov esi, esp
lea eax, [ebp - 0x98]
push eax
call dword [sym.imp.USER32.dll_RegisterClassA]
cmp esi, esp
call fcn.00402860
movzx ecx, ax
test ecx, ecx
jne 0x401131
mov esi, esp
push 0x10
push str.AutoRun
push str.This_program_requires_Windows_NT_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00402860
xor eax, eax
jmp 0x401242
mov dword [ebp - 8], 0x1e4
mov dword [ebp - 0x14], 0x15b
mov esi, esp
push 0
call dword [sym.imp.USER32.dll_GetDC]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x38], eax
mov esi, esp
push 8
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x20], eax
mov esi, esp
push 0xa
mov eax, dword [ebp - 0x38]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x2c], eax
mov esi, esp
push 0
mov eax, dword [ebp + 8]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x14]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 8]
cdq
sub eax, edx
sar eax, 1
push eax
push 0xc80000
push 0x4111fc
push str.AutoRun
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp esi, esp
call fcn.00402860
mov dword [ebp - 0x44], eax
mov esi, esp
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
cmp esi, esp
call fcn.00402860
mov esi, esp
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp esi, esp
call fcn.00402860
mov esi, esp
push 0
push 0
push 0
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
cmp esi, esp
call fcn.00402860
test eax, eax
je 0x40123f
mov esi, esp
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
cmp esi, esp
call fcn.00402860
mov esi, esp
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp esi, esp
call fcn.00402860
jmp 0x4011fa
mov eax, dword [ebp - 0x60]
push edx
mov ecx, ebp
push eax
lea edx, [0x401269]
call fcn.00402890
pop eax
pop edx
pop edi
pop esi
pop ebx
add esp, 0x15c
cmp ebp, esp
call fcn.00402860
mov esp, ebp
pop ebp
ret 0x10