Function at 0x401000
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x694
mov eax, dword [0x405004]
xor eax, esp
mov dword [esp + 0x690], eax
push ebx
push esi
xor eax, eax
xor ebx, ebx
and dword [esp + 0x18], eax
and dword [esp + 0x10], eax
push edi
xor edi, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
cmp dword [eax], ebx
jle 0x401240
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___wargv]
mov esi, dword [esp + 0x14]
push 5
push 0x4031c0
mov eax, dword [eax]
mov esi, dword [eax + esi*4]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x40106d
lea ebx, [esi + 0xa]
lea edi, [eax + 1]
jmp 0x401090
push 0xc
push str._quicklunch:
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
add esp, 0xc
test eax, eax
jne 0x401096
lea eax, [esi + 0x18]
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0x1c]
jmp 0x4010b7
push 4
push str._dpi
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncmp]
mov esi, dword [esp + 0x28]
add esp, 0xc
test eax, eax
push 1
pop eax
cmove esi, eax
mov dword [esp + 0x1c], esi
inc dword [esp + 0x14]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax]
jl 0x401041
test esi, esi
je 0x4010f6
test edi, edi
je 0x4010dc
mov ecx, ebx
call fcn.004014b7
xor eax, eax
inc eax
mov ecx, dword [esp + 0x69c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004015bd
mov esp, ebp
pop ebp
ret 0x10
cmp dword [esp + 0x18], 0
je 0x401240
test edi, edi
je 0x401240
push 0x20a
lea eax, [esp + 0x7c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 0x78]
push ebx
push str.qqexchangewnd_shortcut_prefix__s
push 0x104
push eax
call fcn.0040158e
mov edi, dword [sym.imp.USER32.dll_FindWindowW]
lea eax, [esp + 0x88]
add esp, 0x10
mov ebx, str.5B3838F5_0C81_46D9_A4C0_6EA28CA3E942
push eax
push ebx
call edi
mov esi, eax
test esi, esi
jne 0x40115b
push eax
push ebx
call edi
mov esi, eax
test esi, esi
je 0x401193
mov edi, dword [esp + 0x10]
and dword [esp + 0x20], 0
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
pop ecx
mov dword [esp + 0x28], edi
lea eax, [eax*2 + 2]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x20]
push eax
push 0
push 0x4a
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x4010dc
call fcn.004013f9
mov ebx, eax
mov dword [esp + 0x18], ebx
call fcn.0040144e
mov edi, eax
lea eax, [esp + 0x288]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
cmp eax, 0xffffffff
je 0x4011c2
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ebx, edi
call fcn.0040132c
push 0x44
pop esi
push esi
mov dword [esp + 0x14], eax
lea eax, [esp + 0x34]
push 0
push eax
call dword [sym.imp.VCRUNTIME140.dll_memset]
add esp, 0xc
mov dword [esp + 0x30], esi
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
push dword [esp + 0x30]
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4010dc
push dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [esp + 0x24]
call esi
push 2
push dword [esp + 0x1c]
call fcn.004015ce
push 2
push edi
call fcn.004015ce
push 2
push dword [esp + 0x24]
call fcn.004015ce
add esp, 0x18
jmp 0x401325
call fcn.004013f9
mov ebx, dword [sym.imp.VCRUNTIME140.dll_memset]
mov edi, eax
push 0x410
lea eax, [esp + 0x28c]
mov dword [esp + 0x18], edi
push 0
push eax
call ebx
and dword [esp + 0x1c], 0
add esp, 0xc
xor esi, esi
inc esi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
cmp dword [eax], esi
jle 0x4012cc
mov ebx, dword [esp + 0x10]
mov edi, esi
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___wargv]
push 0x4031f4
lea esi, [esp + 0x28c]
lea esi, [esi + ebx*2]
mov eax, dword [eax]
push dword [eax + edi*4]
mov eax, 0x208
push 0x4031f8
sub eax, ebx
push eax
push esi
call fcn.0040158e
add esp, 0x14
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcslen]
add ebx, eax
inc edi
pop ecx
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll___p___argc]
cmp edi, dword [eax]
jl 0x40127d
mov edi, dword [esp + 0x14]
mov ebx, dword [sym.imp.VCRUNTIME140.dll_memset]
push 0x44
pop esi
push esi
lea eax, [esp + 0x34]
push 0
push eax
call ebx
add esp, 0xc
mov dword [esp + 0x30], esi
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
lea eax, [esp + 0x2a8]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4010dc
push dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [esp + 0x24]
call esi
push 2
push edi
call fcn.004015ce
pop ecx
pop ecx
xor eax, eax
jmp 0x4010df