Function at 0x401000
Capabilities:
Hide graphical window

Disassembly:
push 0
call sub.kernel32.dll_GetModuleHandleA
mov dword [0x401f5c], eax
mov dword [0x401f2c], 1
mov dword [0x401f48], 0x30
mov dword [0x401f4c], 3
mov dword [0x401f50], 0x401126
mov dword [0x401f54], 0
mov dword [0x401f58], 0
mov dword [0x401f68], 0x10
mov dword [0x401f6c], 0x4015e3
mov dword [0x401f70], 0x4015ea
mov dword [0x401f74], 0
push 0x4015dc
push dword [0x401f5c]
call sub.user32.dll_LoadIconA
mov dword [0x401f60], eax
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
mov dword [0x401f64], eax
push 0x401f48
call sub.user32.dll_RegisterClassExA
push 0
push dword [0x401f5c]
push 0
push 0
push 0x6f
push 0x100
push 0x40
push 0x140
push 0x4ca0000
push 0x4015f5
push 0x4015ea
push 0x300
call sub.user32.dll_CreateWindowExA
mov dword [0x401f78], eax
push 1
push dword [0x401f78]
call sub.user32.dll_ShowWindow
push dword [0x401f78]
call sub.user32.dll_UpdateWindow
push 0
push 0
push 0
push 0x401f78
call sub.user32.dll_GetMessageA
cmp eax, 0
je 0x40111b
push 0x401f78
call sub.user32.dll_TranslateMessage
push 0x401f78
call sub.user32.dll_DispatchMessageA
jmp 0x4010f0
push dword [0x401f5c]
call sub.kernel32.dll_ExitProcess
push ebp
mov ebp, esp
pushal
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x4011a0
mov dword [0x401f10], 0x204
push 0x401f08
push 0x3100
push 0x803
push 0
call sub.winmm.dll_mciSendCommandA
call fcn.00401487
mov dword [0x401f20], 0xa
mov dword [0x401f24], 0x6401
push 0x401f1c
push 0x6401
push 0x80d
push dword [0x401f0c]
call sub.winmm.dll_mciSendCommandA
call fcn.00401487
push 0
push 0x3e8
push 0x10
push dword [ebp + 8]
call sub.user32.dll_SetTimer
jmp 0x401464
cmp eax, 2
jne 0x4011ba
call fcn.0040147c
push 0
call sub.user32.dll_PostQuitMessage
popal
xor eax, eax
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 0x111
jne 0x4013ce
mov eax, dword [ebp + 0x10]
cmp ax, 0x1e
ja 0x401207
cwde
push eax
call fcn.004014ad
call fcn.00401487
call fcn.0040151c
pop ebx
cmp ebx, eax
ja 0x401464
mov dword [0x40171e], 0
mov dword [0x401f2c], ebx
call fcn.00401504
call fcn.00401487
jmp 0x401464
cmp ax, 0x32
jne 0x401217
call fcn.00401498
jmp 0x401464
cmp ax, 0x51
jne 0x401258
call fcn.004014ad
call fcn.00401487
cmp dword [0x40171e], 1
jne 0x401249
mov dword [0x40171e], 0
call fcn.004014ec
call fcn.00401487
jmp 0x401464
call fcn.00401504
call fcn.00401487
jmp 0x401464
cmp ax, 0x52
jne 0x4012bb
call fcn.00401546
cmp eax, 0x20e
jne 0x401295
mov dword [0x40171e], 1
push 0x401f34
push 0
push 0x809
push dword [0x401f0c]
call sub.winmm.dll_mciSendCommandA
call fcn.00401487
jmp 0x401464
cmp dword [0x40171e], 1
jne 0x401464
mov dword [0x40171e], 0
call fcn.004014ec
call fcn.00401487
jmp 0x401464
cmp ax, 0x53
jne 0x4012da
mov dword [0x40171e], 0
call fcn.004014d4
call fcn.00401487
jmp 0x401464
cmp ax, 0x54
jne 0x401318
mov dword [0x40171e], 0
push 0x401f1c
push 0x100
push 0x80d
push dword [0x401f0c]
call sub.winmm.dll_mciSendCommandA
call fcn.00401487
mov dword [0x401f2c], 1
jmp 0x401464
cmp ax, 0x55
jne 0x401341
mov dword [0x40171e], 0
call fcn.004014ad
call fcn.00401487
mov dword [0x401f2c], 1
jmp 0x401464
cmp ax, 0x56
jne 0x401384
call fcn.004014ad
call fcn.00401487
call fcn.0040151c
cmp dword [0x401f2c], 1
ja 0x401365
inc eax
mov dword [0x401f2c], eax
dec dword [0x401f2c]
mov dword [0x40171e], 0
call fcn.00401504
call fcn.00401487
jmp 0x401464
cmp ax, 0x57
jne 0x401464
call fcn.004014ad
call fcn.00401487
call fcn.0040151c
inc dword [0x401f2c]
cmp dword [0x401f2c], eax
jbe 0x4013b5
mov dword [0x401f2c], 1
mov dword [0x40171e], 0
call fcn.00401504
call fcn.00401487
jmp 0x401464
cmp eax, 0x112
jne 0x4013ea
mov eax, dword [ebp + 0x10]
cmp eax, 0xf060
jne 0x401464
call fcn.0040147c
jmp 0x401464
cmp eax, 0x113
jne 0x401464
mov dword [0x401f40], 8
push 0x401f38
push 0x100
push 0x814
push dword [0x401f0c]
call sub.winmm.dll_mciSendCommandA
mov eax, dword [0x401f3c]
cmp eax, dword [0x40171a]
je 0x401464
mov dword [0x40171a], eax
mov dword [0x401f2c], eax
mov cl, al
mov al, 0x30
mov ah, 0x30
cmp cl, 0
je 0x40144a
cmp cl, 0x63
ja 0x40144a
inc al
cmp al, 0x3a
jne 0x401446
mov al, 0x30
inc ah
dec cl
jne 0x40143c
mov ebx, 0x4015f5
mov byte [ebx + 0x12], ah
mov byte [ebx + 0x13], al
push 0x4015f5
push dword [ebp + 8]
call sub.user32.dll_SetWindowTextA
jmp 0x401464
popal
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call sub.user32.dll_DefWindowProcA
mov esp, ebp
pop ebp
ret 0x10