Function at 0x4037c8
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x412f27
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x834
mov dword [ebp - 0x834], ecx
mov eax, dword [ebp + 8]
and eax, 0xffff
cmp eax, 0x1c00
jl 0x403860
mov ecx, dword [ebp + 8]
and ecx, 0xffff
sub ecx, 0x1c00
cmp ecx, 0x400
jge 0x403860
mov edx, dword [ebp + 8]
and edx, 0xffff
sub edx, 0x1c00
push edx
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax + 0x60]
call fcn.0040c0a3
mov ecx, dword [ebp - 0x834]
call fcn.004015a6
mov ecx, dword [ebp - 0x834]
mov ecx, dword [ecx + 0x60]
call fcn.0040b5c5
push eax
mov ecx, dword [ebp - 0x834]
add ecx, 0x80
call fcn.00411bc3
jmp case.0x40390e.7
mov edx, dword [ebp + 8]
and edx, 0xffff
cmp edx, 0x1800
jl 0x4038d3
mov eax, dword [ebp + 8]
and eax, 0xffff
sub eax, 0x1800
cmp eax, 0x400
jge 0x4038d3
mov ecx, dword [ebp + 8]
and ecx, 0xffff
sub ecx, 0x1800
push ecx
mov edx, dword [ebp - 0x834]
mov ecx, dword [edx + 0x60]
call fcn.0040c0a3
mov ecx, dword [ebp - 0x834]
call fcn.004015a6
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax + 0x60]
call fcn.0040b5c5
push eax
mov ecx, dword [ebp - 0x834]
add ecx, 0x80
call fcn.00411bc3
jmp case.0x40390e.7
mov edx, dword [ebp + 8]
and edx, 0xffff
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x838]
sub eax, 0x9c4e
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x838], 0x10
ja case.0x40390e.7
mov edx, dword [ebp - 0x838]
xor ecx, ecx
mov cl, byte [edx + 0x403cd2]
jmp dword [ecx*4 + 0x403cb2]
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax + 0xc8]
xor ecx, 1
mov edx, dword [ebp - 0x834]
mov dword [edx + 0xc8], ecx
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax + 0xc8]
and ecx, 1
test ecx, ecx
je 0x403961
push 3
push 0
push 0
push 0
push 0
mov edx, dword [sym.imp.MFC42u.DLL_CWndconstCWnd::wndTopMost]
push edx
mov ecx, dword [ebp - 0x834]
call sub.MFC42u.DLL_CWnd::SetWindowPos
jmp 0x40397c
push 3
push 0
push 0
push 0
push 0
mov eax, dword [sym.imp.MFC42u.DLL_CWndconstCWnd::wndNoTopMost]
push eax
mov ecx, dword [ebp - 0x834]
call sub.MFC42u.DLL_CWnd::SetWindowPos
jmp case.0x40390e.7
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx + 0xc8]
xor edx, 2
mov eax, dword [ebp - 0x834]
mov dword [eax + 0xc8], edx
jmp case.0x40390e.7
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx + 0xc8]
and dl, 0x7f
mov eax, dword [ebp - 0x834]
mov dword [eax + 0xc8], edx
mov ecx, dword [ebp - 0x834]
call fcn.0040308d
push 0
mov ecx, dword [ebp - 0x834]
call sub.MFC42u.DLL_CWnd::ShowWindow
jmp case.0x40390e.7
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::CString_1
mov dword [ebp - 4], 0
push 0x104
push 0x104
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::GetBuffer
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::ReleaseBuffer
push 0x5c
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::ReverseFind
add eax, 1
push eax
lea ecx, [ebp - 0x82c]
push ecx
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::Left
mov dword [ebp - 0x83c], eax
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x840], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x840]
push eax
lea ecx, [ebp - 0x14]
call fcn.004125e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x82c]
call sub.MFC42u.DLL_CString::CString
push 0x417618
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::operator
push 0x417624
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::operator
push 1
lea ecx, [ebp - 0x14]
call fcn.00404130
push eax
push 0
lea ecx, [ebp - 0x14]
call fcn.00404130
push eax
push 0x41763c
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call sub.MFC42u.DLL_CString::CString
jmp case.0x40390e.7
mov ecx, dword [ebp - 0x834]
cmp dword [ecx + 0x60], 0
je 0x403ba6
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString_1
mov dword [ebp - 4], 2
push 0
push 0
lea edx, [ebp - 0x818]
push edx
push 0
push 1
push 0x25e4
mov ecx, dword [ebp - 0x834]
add ecx, 0x88
call fcn.00411829
mov dword [ebp - 0x81c], eax
cmp dword [ebp - 0x81c], 0
je 0x403b80
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x18]
call fcn.004125b0
push 0x417648
lea ecx, [ebp - 0x830]
call sub.MFC42u.DLL_CString::CString_3
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x830]
push ecx
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x830]
call sub.MFC42u.DLL_CString::CString
push 0
push 0
lea edx, [ebp - 0x818]
push edx
push 0
push 1
push 0x25e5
mov ecx, dword [ebp - 0x834]
add ecx, 0x88
call fcn.00411829
mov dword [ebp - 0x81c], eax
lea eax, [ebp - 0x818]
push eax
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::operator
lea ecx, [ebp - 0x18]
call fcn.00404130
push eax
mov ecx, dword [ebp - 0x834]
mov ecx, dword [ecx + 0x60]
call fcn.0040e598
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call sub.MFC42u.DLL_CString::CString
jmp case.0x40390e.7
mov edx, dword [ebp - 0x834]
mov eax, dword [edx + 0xcc]
mov dword [ebp - 0x820], eax
cmp dword [ebp - 0x820], 0xffffffff
je 0x403be7
push 0x248
mov ecx, dword [ebp - 0x820]
push ecx
push 0x420
mov edx, dword [ebp - 0x834]
mov eax, dword [edx + 0x64]
push eax
call dword [sym.imp.USER32.dll_PostMessageW]
jmp case.0x40390e.7
mov ecx, dword [ebp + 8]
and ecx, 0xffff
shr ecx, 0x10
mov word [ebp - 0x824], cx
mov edx, dword [ebp - 0x834]
mov eax, dword [edx + 0xcc]
mov dword [ebp - 0x828], eax
cmp dword [ebp - 0x828], 0xffffffff
je case.0x40390e.7
push 0
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx + 0xcc]
push edx
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax + 0x60]
call fcn.0040bb41
test eax, eax
jne 0x403c5c
mov ecx, dword [ebp - 0x834]
call fcn.004015a6
push 1
mov ecx, dword [ebp - 0x834]
mov ecx, dword [ecx + 0x60]
call fcn.0040bd80
jmp case.0x40390e.7
mov edx, dword [ebp - 0x834]
mov eax, dword [edx + 0xc8]
and eax, 2
test eax, eax
je case.0x40390e.7
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx + 0xc8]
and dl, 0x7f
mov eax, dword [ebp - 0x834]
mov dword [eax + 0xc8], edx
mov ecx, dword [ebp - 0x834]
call fcn.0040308d
push 0
mov ecx, dword [ebp - 0x834]
call sub.MFC42u.DLL_CWnd::ShowWindow
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4