Function at 0x40fbb2
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x348
cmp dword [ebp + 0xc], 0
je 0x40fbc8
xor eax, eax
jmp 0x410065
xor eax, eax
test eax, eax
je 0x40fbe8
push 0x10
push 0x100
push 0x102
push 0
call fcn.0040c381
xor eax, eax
jmp 0x410065
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041006b
add esp, 4
test eax, eax
jne 0x40fbff
xor eax, eax
jmp 0x410065
mov dword [ebp - 0x128], 0x64
jmp 0x40fc1a
mov edx, dword [ebp - 0x128]
sub edx, 1
mov dword [ebp - 0x128], edx
cmp dword [ebp - 0x128], 0
jle 0x40fc36
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.USER32.dll_SetMessageQueue]
test eax, eax
jne 0x40fc36
jmp 0x40fc0b
cmp dword [ebp - 0x128], 0
jne 0x40fc59
push 0x10
push 0x100
push 0x103
push 0
call fcn.0040c381
xor eax, eax
jmp 0x410065
lea ecx, [ebp - 0x228]
push ecx
push str._001
push 0x42e184
call fcn.00418f7d
add esp, 0xc
lea edx, [ebp - 0x228]
push edx
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x42c228], eax
lea eax, [ebp - 0x228]
push eax
push str._002
push 0x42e184
call fcn.00418f7d
add esp, 0xc
lea ecx, [ebp - 0x228]
push ecx
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x42c22c], eax
lea edx, [ebp - 0x228]
push edx
push str._003
push 0x42e184
call fcn.00418f7d
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
mov dword [0x42d9a8], eax
cmp dword [0x42c228], 0
je 0x40fcf5
cmp dword [0x42c22c], 0
je 0x40fcf5
cmp dword [0x42d9a8], 0
jne 0x40fd0f
push 0x10
push 0x100
push 0x104
push 0
call fcn.0040c381
xor eax, eax
jmp 0x410065
lea ecx, [ebp - 0x108]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
push eax
call fcn.00418e88
add esp, 8
movsx edx, byte [ebp - 0x108]
test edx, edx
je 0x40fe3c
mov dword [ebp - 0x22c], 0
lea eax, [ebp - 0x108]
push eax
push 0x42c4a0
call fcn.0040338f
add esp, 8
test eax, eax
jne 0x40fdd4
push 1
push 0
lea ecx, [ebp - 0x108]
push ecx
call fcn.00403330
add esp, 0xc
lea edx, [ebp - 0x108]
push edx
call fcn.00420540
add esp, 4
mov dword [ebp - 0x22c], eax
push 1
mov eax, dword [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.00403330
add esp, 0xc
lea edx, [ebp - 0x108]
push edx
push 0x42c4a4
call fcn.0040338f
add esp, 8
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0xffffffff
je 0x40fdd4
mov eax, dword [ebp - 0x22c]
add eax, 2
push eax
push 0
lea ecx, [ebp - 0x108]
push ecx
call fcn.00403330
add esp, 0xc
push 0x104
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40fe3c
movsx ecx, byte [ebp - 0x108]
test ecx, ecx
je 0x40fe3c
push 0
push 0
lea edx, [ebp - 0x330]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.0040a67d
add esp, 0x10
test eax, eax
jne 0x40fe3c
lea ecx, [ebp - 0x108]
push ecx
mov ecx, 0x42fb70
call fcn.00404e7b
mov dword [0x43082c], 1
mov dword [0x42c670], 0
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.00410254
add esp, 8
test eax, eax
jne 0x40fe57
xor eax, eax
jmp 0x410065
call fcn.0040e379
cmp dword [0x43080c], 0
jne 0x41005a
mov ecx, dword [0x42c69c]
mov dword [ebp - 0x334], ecx
mov edx, dword [0x42e148]
mov dword [ebp - 0x344], edx
mov eax, dword [0x42e14c]
mov dword [ebp - 0x33c], eax
mov dword [0x430810], 0
call fcn.0040dfcf
mov ecx, dword [ebp - 0x334]
mov dword [0x42c69c], ecx
mov edx, dword [0x42c69c]
cmp edx, dword [0x430dc8]
jle 0x40febf
mov dword [0x42c69c], 0
mov eax, dword [0x42c69c]
cmp eax, dword [0x430dc8]
jge 0x40fef2
cmp dword [0x42c69c], 0xffffffff
jle 0x40fef2
mov ecx, dword [0x42c69c]
imul ecx, ecx, 0x1bc
mov edx, dword [ecx + 0x42e7d8]
push edx
call fcn.00409825
add esp, 4
jmp 0x40ff06
mov dword [0x42e148], 0
mov dword [0x42e14c], 0
push 0
push 0
push 0
lea eax, [ebp - 0x124]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x410055
mov dword [ebp - 0x340], 0
mov ecx, dword [0x42d9d0]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x40ff8e
call fcn.0040b06f
push eax
call fcn.0041d58c
add esp, 4
mov dword [ebp - 0x338], eax
cmp dword [ebp - 0x338], 0xffffffff
je 0x40ff8e
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x340], eax
mov edx, dword [ebp - 0x338]
imul edx, edx, 0x1bc
mov eax, dword [ebp - 0x340]
cmp eax, dword [edx + 0x42e7d8]
jne 0x40ff8e
mov dword [ebp - 0x340], 0
lea ecx, [ebp - 0x124]
push ecx
mov edx, dword [0x42d9d0]
push edx
call dword [sym.imp.USER32.dll_TranslateMDISysAccel]
test eax, eax
jne 0x410055
lea eax, [ebp - 0x124]
push eax
call fcn.0040f258
add esp, 4
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 1
jne 0x40fffe
cmp dword [ebp - 0x340], 0
je 0x40fff4
lea ecx, [ebp - 0x124]
push ecx
call fcn.0040b06f
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageA]
test eax, eax
je 0x40fff4
mov dword [ebp - 0x348], 0
jmp 0x40fffe
mov dword [ebp - 0x348], 2
cmp dword [ebp - 0x348], 2
jne 0x410055
lea edx, [ebp - 0x124]
push edx
call dword [sym.imp.USER32.dll_TranslateMessage]
cmp dword [ebp - 0x120], 0x102
jne 0x41003c
cmp dword [ebp - 0x11c], 9
jne 0x41003c
mov eax, dword [ebp - 0x124]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x114]
mov dword [0x42e384], ecx
lea edx, [ebp - 0x124]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x40fe5c
call fcn.0040ee43
mov eax, dword [ebp - 0x11c]
mov esp, ebp
pop ebp
ret 0x10