Function at 0x402710
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push ebx
push esi
push edi
lea edi, [ebp - 0x9c]
mov ecx, 0x27
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
mov dword [ebp - 4], 0x4103ec
mov dword [ebp - 8], 0x4103d0
mov esi, esp
push 0x30
push 0x410188
push 0x4103a0
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00402c50
mov esi, esp
lea eax, [ebp - 0x5c]
push eax
push 4
push 0
push section..text
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp esi, esp
call fcn.00402c50
mov dword [0x414ee4], eax
mov esi, esp
lea ecx, [ebp - 0x5c]
push ecx
push 4
push 0
push 0x401c20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp esi, esp
call fcn.00402c50
mov dword [0x414ee0], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x38], 0x30
mov esi, esp
push 0
call dword [sym.imp.GDI32.dll_GetStockObject]
cmp esi, esp
call fcn.00402c50
mov dword [ebp - 0x18], eax
mov esi, esp
push 0x4000
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadCursorA]
cmp esi, esp
call fcn.00402c50
mov dword [ebp - 0x1c], eax
mov esi, esp
push 0x1000
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
cmp esi, esp
call fcn.00402c50
mov dword [ebp - 0x20], eax
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], 0x401ff0
mov edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x34], 3
mov esi, esp
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
cmp esi, esp
call fcn.00402c50
mov esi, esp
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edi, esp
push 0x2000
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadMenuA]
cmp edi, esp
call fcn.00402c50
push eax
push 0
push 0x1a9
push 0x258
push 0xc8
push 0x190
push 0xcf0000
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0x200
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp esi, esp
call fcn.00402c50
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
jne 0x4028c0
mov esi, esp
push 0x30
push 0x410188
push str.THEREIS_AN_ERROR
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00402c50
xor eax, eax
jmp 0x402971
mov esi, esp
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
cmp esi, esp
call fcn.00402c50
mov esi, esp
mov ecx, dword [ebp - 0x3c]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp esi, esp
call fcn.00402c50
mov esi, esp
push 0x3000
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_LoadAcceleratorsA]
cmp esi, esp
call fcn.00402c50
mov dword [0x414d44], eax
mov esi, esp
push 0
push 0
push 0
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
cmp esi, esp
call fcn.00402c50
test eax, eax
je 0x40296e
mov esi, esp
lea ecx, [ebp - 0x58]
push ecx
mov edx, dword [0x414d44]
push edx
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_TranslateAcceleratorA]
cmp esi, esp
call fcn.00402c50
test eax, eax
jne 0x40296c
mov esi, esp
lea ecx, [ebp - 0x58]
push ecx
call dword [sym.imp.USER32.dll_TranslateMessage]
cmp esi, esp
call fcn.00402c50
mov esi, esp
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
cmp esi, esp
call fcn.00402c50
jmp 0x402907
mov eax, dword [ebp - 0x54]
pop edi
pop esi
pop ebx
add esp, 0x9c
cmp ebp, esp
call fcn.00402c50
mov esp, ebp
pop ebp
ret 0x10