Function at 0x401498
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov dword [ebp - 0x7c], 0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0xf
je 0x401a4d
cmp dword [ebp - 0x88], 0xf
ja 0x4014e2
cmp dword [ebp - 0x88], 1
je 0x401507
cmp dword [ebp - 0x88], 2
je 0x401f4d
jmp 0x401f5e
cmp dword [ebp - 0x88], 0x111
je 0x401ae8
cmp dword [ebp - 0x88], 0x312
je 0x401a13
jmp 0x401f5e
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0xa5
mov dword [esp + 0x18], 0xaa
mov dword [esp + 0x14], 2
mov dword [esp + 0x10], 0x154
mov dword [esp + 0xc], 0x50000007
mov dword [esp + 8], 0x404009
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1772
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x55
mov dword [esp + 0x14], 0x19
mov dword [esp + 0x10], 0x168
mov dword [esp + 0xc], 0x50000004
mov dword [esp + 8], 0x40401b
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x405030], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x405030]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1773
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x55
mov dword [esp + 0x14], 0x3c
mov dword [esp + 0x10], 0x168
mov dword [esp + 0xc], 0x50000004
mov dword [esp + 8], str.NEO
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x405050], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x13
mov dword [esp + 0x18], 0x46
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x10], 0x64
mov dword [esp + 0xc], 0x50000000
mov dword [esp + 8], 0x40402d
mov dword [esp + 4], str.static
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x7d6
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x19
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x10], 0xb4
mov dword [esp + 0xc], 0x50000000
mov dword [esp + 8], 0x40403e
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x405070], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x7d7
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x19
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x10], 0x10e
mov dword [esp + 0xc], 0x50000000
mov dword [esp + 8], 0x404040
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x405090], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1390
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0xb4
mov dword [esp + 0x14], 0x55
mov dword [esp + 0x10], 0x87
mov dword [esp + 0xc], 0x50000002
mov dword [esp + 8], 0x404042
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x4050b0], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1391
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x78
mov dword [esp + 0x14], 0x55
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0x50000002
mov dword [esp + 8], 0x404059
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x4050d0], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x1392
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0x5a
mov dword [esp + 0x14], 0x37
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0x50000002
mov dword [esp + 8], 0x404068
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x4050f0], eax
mov dword [esp + 0x2c], 0
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], 0x138a
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x19
mov dword [esp + 0x18], 0xa0
mov dword [esp + 0x14], 0x73
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0x50000002
mov dword [esp + 8], 0x404072
mov dword [esp + 4], str.button
mov dword [esp], 0
call sub.USER32.dll_CreateWindowExA
sub esp, 0x30
mov dword [0x405110], eax
mov dword [esp + 0xc], 0x70
mov dword [esp + 8], 0
mov dword [esp + 4], 0xc9
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_RegisterHotKey
sub esp, 0x10
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym.__Z10ThreadFuncPv_4
mov dword [esp + 4], 0
mov dword [esp], 0
call sub.KERNEL32.dll_CreateThread
sub esp, 0x18
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
jne 0x401a00
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], 0x404086
mov dword [esp + 4], 0x40408b
mov dword [esp], 0
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
mov dword [ebp - 0x80], 0
jmp 0x401f8d
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
jmp 0x401f86
mov eax, dword [ebp + 0x10]
cmp eax, 0xc9
je 0x401a22
jmp 0x401f86
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1390
mov dword [esp + 4], 0x111
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
jmp 0x401f86
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_BeginPaint
sub esp, 8
mov dword [ebp - 0xc], eax
mov dword [esp + 4], 0xff0000
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.GDI32.dll_SetTextColor
sub esp, 8
mov dword [esp + 8], 0xa
lea eax, [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [0x40300c]
mov dword [esp], eax
call sym._itoa
lea eax, [ebp - 0x78]
mov dword [esp], eax
call sub.KERNEL32.dll_lstrlenA
sub esp, 4
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x78]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0xe6
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sub.GDI32.dll_TextOutA
sub esp, 0x14
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_EndPaint
sub esp, 8
jmp 0x401f86
mov eax, dword [ebp + 0x10]
movzx eax, ax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0x1390
je 0x401cd8
cmp dword [ebp - 0x84], 0x1390
jg 0x401b56
cmp dword [ebp - 0x84], 0x7d7
je 0x401ca2
cmp dword [ebp - 0x84], 0x7d7
jg 0x401b41
cmp dword [ebp - 0x84], 0x7d6
je 0x401c79
jmp 0x401f86
cmp dword [ebp - 0x84], 0x138a
je 0x401e9f
jmp 0x401f86
cmp dword [ebp - 0x84], 0x1392
je 0x401e14
cmp dword [ebp - 0x84], 0x1392
jl 0x401d63
cmp dword [ebp - 0x84], 0x1772
je 0x401b93
cmp dword [ebp - 0x84], 0x1773
je 0x401c06
jmp 0x401f86
mov dword [0x405040], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x405030]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405060], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x405050]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405018], 0
jmp 0x401f86
mov dword [0x405060], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x405050]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405040], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x405030]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405018], 1
jmp 0x401f86
inc dword [0x40300c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_InvalidateRect
sub esp, 0xc
jmp 0x401f86
cmp dword [0x40300c], 1
jbe 0x401f86
dec dword [0x40300c]
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_InvalidateRect
sub esp, 0xc
jmp 0x401f86
cmp dword [0x4050c0], 0
je 0x401d22
mov dword [0x4050c0], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050b0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x40501c], 0
jmp 0x401f86
mov dword [0x4050c0], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050b0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x40501c], 1
jmp 0x401f86
cmp dword [0x4050e0], 0
je 0x401dad
mov dword [0x4050e0], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050d0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405020], 0
jmp 0x401f86
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x404098
mov dword [esp + 4], 0x4040a1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
mov dword [0x4050e0], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050d0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405020], 1
jmp 0x401f86
cmp dword [0x405100], 0
je 0x401e5e
mov dword [0x405100], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050f0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405024], 0
jmp 0x401f86
mov dword [0x405100], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x4050f0]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405024], 1
jmp 0x401f86
cmp dword [0x405120], 0
je 0x401ee9
mov dword [0x405120], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xf1
mov eax, dword [0x405110]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405028], 0
jmp 0x401f86
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x404098
mov dword [esp + 4], 0x4040b8
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_MessageBoxA
sub esp, 0x10
mov dword [0x405120], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0xf1
mov eax, dword [0x405110]
mov dword [esp], eax
call sub.USER32.dll_SendMessageA
sub esp, 0x10
mov dword [0x405028], 1
jmp 0x401f86
mov dword [esp], 0
call sub.USER32.dll_PostQuitMessage
sub esp, 4
jmp 0x401f86
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sub.USER32.dll_DefWindowProcA
sub esp, 0x10
mov dword [ebp - 0x80], eax
jmp 0x401f8d
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x80]
leave
ret 0x10