Function at 0x409458
Capabilities:
Create process on windows

Disassembly:
push 0x108
push 0x42c960
call fcn.00417d50
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xbc], ecx
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xb0], esi
mov dword [ebp - 0xb4], 0x20
lea eax, [ebp - 0xb4]
push eax
push esi
xor eax, eax
inc eax
push eax
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_InitializeProcThreadAttributeList]
test eax, eax
je 0x41bdaf
xor ecx, ecx
inc ecx
mov dword [ebp - 0xb8], ecx
push esi
push esi
push 4
lea eax, [ebp - 0xb8]
push eax
push 0x60001
push esi
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x41bdcb
push 0x48
push esi
lea eax, [ebp - 0x118]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0x118], 0x48
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x108], esi
xor ecx, ecx
inc ecx
mov dword [ebp - 0x104], ecx
push 0x64
pop eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xec], esi
mov word [ebp - 0xe8], cx
push 0x44
push esi
lea eax, [ebp - 0x68]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x68], 0x44
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x110], eax
mov dword [ebp - 4], esi
mov ecx, 0x40221c
call fcn.00411d90
test eax, eax
jne 0x409582
mov eax, 0x4020b8
mov ecx, eax
call fcn.0040acb0
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x41be07
cmp dword [0x435758], 0
je 0x41be22
push 0x5c
pop edx
mov ecx, ebx
call fcn.004101f5
test eax, eax
je 0x4095c6
push 0x4020bc
push eax
call dword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
je 0x41be41
call fcn.00408235
mov eax, dword [0x435748]
test eax, eax
jne 0x409706
mov eax, dword [0x447df8]
test eax, eax
je 0x41be82
lea ecx, [ebp - 0xcc]
push ecx
lea ecx, [ebp - 0x118]
push ecx
push eax
push esi
push 0x80000
xor eax, eax
inc eax
push eax
push esi
push esi
push edi
push ebx
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateProcessW]
mov edi, eax
test edi, edi
je 0x41be8c
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xc8]
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov edx, dword [ebp - 0xb0]
mov ecx, 0x40221c
call fcn.0040a976
test edi, edi
je 0x41bea2
mov eax, dword [ebp - 0xa4]
mov edi, eax
xor ecx, ecx
inc ecx
and edi, ecx
mov ecx, eax
push 2
pop edx
and ecx, edx
test eax, eax
je 0x409742
mov ebx, dword [ebp - 0xa8]
cmp dword [0x435758], 0
je 0x409716
mov dword [ebp - 0xac], esi
xor eax, eax
inc eax
mov dword [0x431598], eax
test ebx, ebx
jne 0x409728
mov ecx, dword [ebp - 0xa4]
call fcn.004081ec
mov dword [0x4355dc], eax
mov dword [ebp - 0xa4], esi
mov esi, eax
mov dword [ebp - 0xac], esi
push esi
push 0x402074
push 0x14
lea eax, [ebp - 0x4c]
push eax
call fcn.00409abf
add esp, 0x10
lea edx, [ebp - 0x4c]
mov ecx, 0x402080
call fcn.0040a976
cmp esi, 0x20
jge 0x41bf6a
mov edx, 0x402094
mov ecx, 0x402098
call fcn.0040a976
test edi, edi
jne 0x41bf8f
mov dword [ebp - 4], 0xfffffffe
call fcn.0040974a
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret 0x10
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x4095d8
jmp 0x41be4b
cmp dword [0x435748], 0
jne 0x409671
jmp 0x41bf28
cmp ebx, 4
je 0x41bf99
cmp ebx, edx
jne 0x4096e6
mov eax, dword [ebp - 0xa4]
mov dword [0x4355e4], eax
jmp 0x4096e6
push 4
pop ebx
jmp 0x409671
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [0x4357a8], eax
mov ecx, ebx
call fcn.00425c14
xor ecx, ecx
lea eax, [ecx + 1]
jmp 0x4096f4
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [0x4357a8], eax
mov ecx, ebx
call fcn.00425c14
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_DeleteProcThreadAttributeList]
jmp 0x41be1a
push ebx
mov edx, 0x7fe7
mov ecx, esi
call fcn.0040f3a0
mov ecx, esi
call fcn.00425c14
mov ecx, esi
call fcn.0040dc60
push 0xfffffffffffffffe
lea eax, [ebp - 0x10]
push eax
push 0x42d0b4
call sub.msvcrt.dll__local_unwind4
add esp, 0xc
xor eax, eax
inc eax
jmp 0x4096f4
cmp dword [0x44804c], 0
jne 0x4095a4
cmp dword [0x435748], 0
je 0x4095c6
jmp 0x4095a4
call fcn.00425098
jmp 0x4095c6
mov eax, dword [0x447df8]
test eax, eax
jne 0x41be59
mov eax, 0x447bf0
lea edx, [ebp - 0xcc]
push edx
lea edx, [ebp - 0x118]
push edx
push eax
push esi
push 0x80000
xor eax, eax
inc eax
push eax
push esi
push esi
push edi
push ebx
push ecx
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_CreateProcessAsUserW]
jmp 0x409608
mov eax, 0x447bf0
jmp 0x4095e5
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [ebp - 0xac], eax
mov dword [0x4357a8], eax
jmp 0x40962a
cmp byte [0x435755], 0
je 0x41beb7
cmp dword [0x4357a8], 0xc1
je 0x41bec3
cmp dword [0x4357a8], 0x2e4
jne 0x41bf07
call fcn.004172ff
test al, al
je 0x41bf05
mov ecx, dword [0x447df8]
test ecx, ecx
jne 0x41bedb
mov ecx, 0x447bf0
push 0x4357a8
lea eax, [ebp - 0xa4]
push eax
movzx eax, word [ebp - 0xe8]
push eax
push ecx
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x3c]
push ebx
push esi
call dword [sym.imp.ext_ms_win_cmd_util_l1_1_0.dll_ShellExecuteWorker]
mov edi, eax
jmp 0x41bf07
mov edi, esi
test edi, edi
jne 0x409642
mov ecx, 0xffce
call fcn.0040dcd0
mov esi, eax
test esi, esi
je 0x41be07
jmp 0x41bdec
cmp byte [0x435755], 0
je 0x409671
cmp dword [0x44804c], 0
jne 0x409671
test ebx, ebx
jne 0x409671
test ecx, ecx
jne 0x409742
mov ecx, eax
call fcn.00425eeb
push 2
pop edx
cmp dx, ax
jne 0x409671
jmp 0x409742
cmp esi, 0x7e
jg 0x4096cf
push esi
push 0x403bfc
push 0xc
lea eax, [ebp - 0x80]
push eax
call fcn.00409abf
add esp, 0x10
lea edx, [ebp - 0x80]
jmp 0x4096d4
call fcn.004263b3
jmp 0x4096e6
mov eax, dword [ebp - 0xa4]
test eax, eax
je 0x4096e6
push eax
call dword [sym.imp.api_ms_win_core_handle_l1_1_0.dll_CloseHandle]
mov dword [ebp - 0xa4], esi
jmp 0x4096e6