Function at 0x409458
Capabilities:
Create process on windows

Disassembly:
push 0x108
push 0x42c9d0
call fcn.00417d90
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 0x41bdf1
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 0x41be0d
push 0x48
push esi
lea eax, [ebp - 0x118]
push eax
call fcn.00417fbd
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 fcn.00417fbd
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 0x41be49
cmp dword [0x436758], 0
je 0x41be64
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 0x41be83
call fcn.00408235
mov eax, dword [0x436748]
test eax, eax
jne 0x409706
mov eax, dword [0x448df8]
test eax, eax
je 0x41bec4
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 0x41bece
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 0x41bee4
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 [0x436758], 0
je 0x409716
mov dword [ebp - 0xac], esi
xor eax, eax
inc eax
mov dword [0x432598], eax
test ebx, ebx
jne 0x409728
mov ecx, dword [ebp - 0xa4]
call fcn.004081ec
mov dword [0x4365dc], 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 0x41bfac
mov edx, 0x402094
mov ecx, 0x402098
call fcn.0040a976
test edi, edi
jne 0x41bfd1
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 0x41be8d
cmp dword [0x436748], 0
jne 0x409671
jmp 0x41bf6a
cmp ebx, 4
je 0x41bfdb
cmp ebx, edx
jne 0x4096e6
mov eax, dword [ebp - 0xa4]
mov dword [0x4365e4], eax
jmp 0x4096e6
push 4
pop ebx
jmp 0x409671
or al, 0x8b
dec ebp
or al, ch
jp 0x41bdf9
add byte [ebx - 0x49f0f73c], al
rol byte [ebp + 0x320475d2], 1
shr bl, 0x68
dec ebp
adc al, 0x51
jp 0x41be66
add byte [ebx + 0x45880cc4], al
dec dword [edx - 0x1a7400bb]
sub esp, 0x10
push 0x20a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
call ecx
or byte [ebx - 0x2e00dbb8], cl
add esp, 4
mov dword [ebp - 0xc], eax
push 0x20a
mov edx, dword [ebp - 0xc]
push edx
call fcn.00416d73
add esp, 8
mov ecx, dword [ebp + 0x18]
add ecx, 4
mov edx, dword [ebp - 0xc]
call fcn.00417528
mov dword [ebp - 8], 0
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 8]
dec ebp
clc
push ecx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
call fcn.00423860
add esp, 8
movzx edx, al
test edx, edx
jne 0x41bee0
invalid
xor al, al
jmp 0x41bf48
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov ecx, dword [ebp + 8]
add ecx, 0xe0
mov edx, dword [ebp - 8]
call fcn.004237e0
add esp, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x34]
or ecx, 1
mov edx, dword [ebp - 8]
mov dword [edx + 0x34], ecx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x34]
or ecx, 2
mov edx, dword [ebp - 8]
mov dword [edx + 0x34], ecx
mov eax, dword [ebp + 8]
push eax
call fcn.0041a950
add esp, 4
push eax
mov ecx, dword [ebp - 0x10]
push ecx
push 1
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 8]
call fcn.00423960
add esp, 0xc
mov byte [ebp - 1], al
mov al, byte [ebp - 1]
mov esp, ebp
pop ebp
ret
inc dword [ebx - 0x49f0ef3c]
rol byte [ebp + 0x6a0f74c0], 0
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x200]
call edx
xor al, al
pop ebp
ret
add byte [eax], al
mov edx, dword [ebp - 4]
push edx
call fcn.00416d73
add esp, 8
push 0x20a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x24]
call ecx
add esp, 4
mov dword [ebp - 8], eax
push 0x20a
mov edx, dword [ebp - 8]
push edx
call fcn.00416d73
add byte [ebx - 0x17ad07ab], cl
cwde
lodsd eax, dword [esi]
invalid
add esp, 8
mov dword [ebp - 0x10], 0
push 0xa5b5c41a
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0x1dc
mov edx, dword [ebp - 4]
call fcn.004178da
add esp, 8
push 0x104
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x84]
call ecx
test eax, eax
je 0x41c05d
mov dword [ebp - 0x14], 0
push 0x1e02e672