Function at 0x415490
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44b056
mov eax, dword fs:[0]
push eax
sub esp, 0x168
mov eax, dword [0x45dd50]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push esi
push edi
mov eax, dword [0x45dd50]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov edi, ecx
lea ecx, [esp + 0x64]
push ecx
mov esi, edx
mov dword [esp + 0x1c], eax
call fcn.00401720
mov ebx, 8
mov dword [esp + 0x180], 0
cmp dword [esi + 0x18], ebx
jb 0x4154ff
mov esi, dword [esi + 4]
jmp 0x415502
add esi, 4
cmp dword [edi + 0x18], ebx
jb 0x41550c
mov edi, dword [edi + 4]
jmp 0x41550f
add edi, 4
push 0x452048
push ecx
push esi
push ecx
push 0x452c18
push ecx
push edi
push ecx
lea edx, [esp + 0x8c]
push 0x452048
push edx
call fcn.00402960
add esp, 0xc
push eax
call fcn.00402960
add esp, 0xc
push eax
call fcn.00402960
add esp, 0xc
push eax
call fcn.00402960
add esp, 0xc
push eax
call fcn.00402960
add esp, 8
lea ecx, [esp + 0x138]
lea eax, [esp + 0x64]
call fcn.00401850
lea esi, [esp + 0x2c]
mov byte [esp + 0x180], 1
call fcn.0041d040
mov edx, str.Install64.exe
mov ecx, eax
lea edi, [esp + 0x154]
mov byte [esp + 0x180], 2
call fcn.004028a0
mov byte [esp + 0x180], 4
cmp dword [esp + 0x44], ebx
jb 0x4155af
mov eax, dword [esp + 0x30]
push eax
call fcn.0042123b
add esp, 4
xor ecx, ecx
push 0x44
push ecx
lea edx, [esp + 0xf4]
push edx
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], 0
mov word [esp + 0x3c], cx
call fcn.00431a80
xor eax, eax
add esp, 0xc
lea esi, [esp + 0x48]
mov dword [esp + 0xec], 0x44
mov dword [esp + 0x118], 1
mov word [esp + 0x11c], ax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.0041d040
cmp dword [eax + 0x18], ebx
jb 0x41561c
mov eax, dword [eax + 4]
jmp 0x41561f
add eax, 4
mov edx, dword [esp + 0x13c]
cmp dword [esp + 0x150], ebx
jae 0x415636
lea edx, [esp + 0x13c]
mov ecx, dword [esp + 0x158]
cmp dword [esp + 0x16c], ebx
jae 0x41564d
lea ecx, [esp + 0x158]
lea esi, [esp + 0x1c]
push esi
lea esi, [esp + 0xf0]
push esi
push eax
push 0
push 0x8000000
push 0
push 0
push 0
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov esi, eax
cmp dword [esp + 0x60], ebx
jb 0x415685
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0042123b
add esp, 4
or edi, 0xffffffff
test esi, esi
je case.default.0x4156d6
mov edx, dword [esp + 0x1c]
push edi
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x14]
push eax
push ecx
mov dword [esp + 0x1c], 2
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov edx, dword [esp + 0x20]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [esp + 0x1c]
push eax
call esi
mov eax, dword [esp + 0x14]
dec eax
cmp eax, 3
ja case.default.0x4156d6
jmp dword [eax*4 + 0x41583c]
lea ecx, [esp + 0x154]
call fcn.004016f0
lea ecx, [esp + 0x138]
call fcn.004016f0
lea eax, [esp + 0x64]
mov dword [esp + 0x180], edi
call fcn.004015e0
jmp 0x415813
mov ecx, dword [esp + 0x18]
mov byte [ecx], 0
lea ecx, [esp + 0x154]
call fcn.004016f0
lea ecx, [esp + 0x138]
call fcn.004016f0
lea eax, [esp + 0x64]
mov dword [esp + 0x180], edi
call fcn.004015e0
mov al, 1
jmp 0x415815
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x154]
mov byte [edx], 1
call fcn.004016f0
lea ecx, [esp + 0x138]
call fcn.004016f0
lea eax, [esp + 0x64]
mov dword [esp + 0x180], edi
call fcn.004015e0
mov al, 1
jmp 0x415815
cmp dword [esp + 0x16c], ebx
jb 0x41578f
mov eax, dword [esp + 0x158]
push eax
call fcn.0042123b
add esp, 4
xor ecx, ecx
mov esi, 7
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], 0
mov word [esp + 0x158], cx
cmp dword [esp + 0x150], ebx
jb 0x4157c9
mov edx, dword [esp + 0x13c]
push edx
call fcn.0042123b
add esp, 4
xor eax, eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x150], esi
mov dword [esp + 0x14c], 0
mov word [esp + 0x13c], ax
mov dword [esp + 0x180], edi
call fcn.004017c0
lea ecx, [esp + 0xb8]
push ecx
mov dword [esp + 0xbc], vtable.std::ios_base.0
call fcn.00446b7a
add esp, 4
xor al, al
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x160]
xor ecx, esp
call fcn.0042eb3c
mov esp, ebp
pop ebp
ret