Function at 0x407250
Capabilities:
Create process on windows

Disassembly:
mov eax, 0x15a4
call fcn.0040b8d0
push ebx
mov ebx, dword [esp + 0x15b0]
push ebp
push esi
push edi
xor eax, eax
mov ecx, 0x11
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x70]
mov edi, 1
or ebp, edi
push edi
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0x15bc]
push ebx
push ebp
mov dword [esp + 0x1c], 0xffffffff
mov word [esp + 0x80], di
mov dword [esp + 0x50], 0x44
call fcn.00405f00
mov esi, eax
mov eax, dword [0x422928]
add esp, 0xc
test eax, eax
mov dword [esp + 0x14], esi
je 0x4072f3
mov eax, dword [ebp]
push eax
push str.S_JVMLOADMSG
call fcn.00401970
add esp, 4
push eax
lea ecx, [esp + 0x1bc]
push ecx
call fcn.0040b90d
lea edx, [esp + 0x1c0]
push edx
call fcn.004019b0
push 0x4192e8
call fcn.004019b0
add esp, 0x14
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x48]
push ecx
push 0
push 0
push 0x200
push edi
push 0
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x4073e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.CreateOUIProcess__
push str.S_ERGOSLST
call fcn.00401970
add esp, 4
push eax
lea edx, [esp + 0x5c0]
push edx
call fcn.0040b90d
mov eax, dword [0x422924]
add esp, 0x10
test eax, eax
je 0x407363
lea eax, [esp + 0x5b4]
push eax
call fcn.004019b0
add esp, 4
jmp 0x407383
push 0x10
push str.S_OUI
call fcn.00401970
add esp, 4
push eax
lea ecx, [esp + 0x5bc]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [0x422924]
test eax, eax
je 0x407554
push str.S_ENTER_ENTER
call fcn.00401970
push eax
call fcn.004019b0
mov eax, dword [0x421054]
add esp, 8
dec eax
mov dword [0x421054], eax
js 0x4073c8
mov eax, dword [0x421050]
inc eax
pop edi
mov dword [0x421050], eax
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x15a4
ret
push 0x421050
call fcn.0040c061
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x15a4
ret
mov eax, dword [0x422928]
test eax, eax
je 0x407496
push 0x419518
push 0x423ce0
call fcn.0040b728
mov esi, eax
push esi
push 0x4192e8
call fcn.0040d6b5
add esp, 0x10
push ebx
push str.S_TOTAL_ARGS
call fcn.00401990
add esp, 4
push eax
lea edx, [esp + 0x90]
push edx
call fcn.0040b90d
lea eax, [esp + 0x94]
push esi
push eax
call fcn.0040d6b5
add esp, 0x14
push esi
push str.S_CMDLINE_ARG_ELTS
call fcn.00401990
add esp, 4
push eax
call fcn.0040d6b5
add esp, 8
xor edi, edi
test ebx, ebx
jle 0x40747c
mov ecx, dword [ebp + edi*4]
push esi
push ecx
call fcn.0040d6b5
push esi
push 0x4192e8
call fcn.0040d6b5
push esi
call fcn.0040b813
add esp, 0x14
inc edi
cmp edi, ebx
jl 0x407458
push esi
push 0x4192e8
call fcn.0040d6b5
push esi
call fcn.0040b813
push esi
call fcn.0040b6a8
add esp, 0x10
mov edx, dword [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x15c0]
test eax, eax
je 0x40751a
mov edi, dword [sym.imp.USER32.dll_MsgWaitForMultipleObjects]
mov esi, dword [sym.imp.USER32.dll_PeekMessageA]
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageA]
push 0x40
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x24]
push eax
push 1
call edi
test eax, eax
je 0x40751a
cmp eax, 1
jne 0x4074c4
push eax
push 0
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
call esi
test eax, eax
je 0x4074c4
mov edi, edi
cmp dword [esp + 0x2c], 0x12
je 0x4074c4
lea edx, [esp + 0x28]
push edx
call ebx
lea eax, [esp + 0x28]
push eax
call ebp
push 1
push 0
push 0
push 0
lea ecx, [esp + 0x38]
push ecx
call esi
test eax, eax
jne 0x4074f0
jmp 0x4074c4
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x10]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
je 0x407534
mov esi, dword [esp + 0x10]
jmp 0x40753c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [esp + 0x14]
push edx
call fcn.0040b2b4
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x15a4
ret