Function at 0x10012021
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005156e
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x10069060]
xor eax, esp
mov dword [esp + 0x1f0], eax
push ebx
push esi
push edi
mov eax, dword [0x10069060]
xor eax, esp
push eax
lea eax, [esp + 0x208]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x10]
xor esi, esi
push esi
push esi
lea eax, [esp + 0x24]
call fcn.10022f83
push edx
lea ecx, [esp + 0x178]
mov dword [esp + 0x214], 2
call fcn.10001e3e
lea eax, [esp + 0x174]
push eax
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x218], 3
call fcn.1003060e
pop ecx
pop ecx
mov edi, eax
lea eax, [esp + 0xe0]
push eax
mov byte [esp + 0x214], 4
call fcn.1001ee33
lea ecx, [esp + 0x1c]
push ecx
push edi
push eax
mov byte [esp + 0x21c], 5
call fcn.1001ee97
mov bl, al
neg bl
sbb bl, bl
lea eax, [esp + 0xe0]
inc bl
call fcn.1002166a
push esi
push 1
lea ecx, [esp + 0x3c]
call fcn.100020f3
push esi
push 1
lea ecx, [esp + 0x17c]
mov byte [esp + 0x218], 2
call fcn.100020f3
test bl, bl
je 0x10012129
push 0x10
push 0x10057d90
push 0x1005a198
call dword [sym.imp.USER32.dll_GetForegroundWindow]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x100125ad
push str.path
lea ecx, [esp + 0x178]
call fcn.10001e3e
sub esp, 0x1c
mov byte [esp + 0x22c], 6
mov ecx, esp
mov dword [esp + 0x34], esp
mov edi, 0x10056d6f
push edi
call fcn.10001e3e
lea eax, [esp + 0x190]
push eax
lea esi, [esp + 0x3c]
lea ebx, [esp + 0xac]
call fcn.10001305
push eax
lea ecx, [esp + 0x1b4]
mov byte [esp + 0x234], 7
call fcn.100011df
add esp, 0x24
push 0
push 1
mov ecx, ebx
call fcn.100020f3
push 0
push 1
lea ecx, [esp + 0x17c]
mov byte [esp + 0x218], 0xa
call fcn.100020f3
push str.argv
lea ecx, [esp + 0x38]
call fcn.10001e3e
sub esp, 0x1c
mov byte [esp + 0x22c], 0xb
mov ecx, esp
mov dword [esp + 0x34], esp
push edi
call fcn.10001e3e
lea eax, [esp + 0x50]
push eax
lea ebx, [esp + 0xc8]
call fcn.10001305
push eax
lea ecx, [esp + 0x1d0]
mov byte [esp + 0x234], 0xc
call fcn.100011df
add esp, 0x24
push 0
push 1
mov ecx, ebx
call fcn.100020f3
push 0
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x218], 0xf
call fcn.100020f3
push str.account
lea ecx, [esp + 0x178]
call fcn.10001e3e
sub esp, 0x1c
mov byte [esp + 0x22c], 0x10
mov ecx, esp
mov dword [esp + 0x34], esp
push edi
call fcn.10001e3e
lea eax, [esp + 0x190]
push eax
lea ebx, [esp + 0xac]
call fcn.10001305
push eax
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x234], 0x11
call fcn.100011df
add esp, 0x24
push 0
push 1
mov ecx, ebx
call fcn.100020f3
push 0
push 1
lea ecx, [esp + 0x17c]
mov byte [esp + 0x218], 0x14
call fcn.100020f3
push str.password
lea ecx, [esp + 0x38]
call fcn.10001e3e
sub esp, 0x1c
mov byte [esp + 0x22c], 0x15
mov ecx, esp
mov dword [esp + 0x34], esp
push edi
call fcn.10001e3e
lea eax, [esp + 0x50]
push eax
lea ebx, [esp + 0xe4]
call fcn.10001305
push eax
lea eax, [esp + 0xcc]
push eax
mov byte [esp + 0x238], 0x16
call fcn.1003060e
push eax
lea ecx, [esp + 0x210]
mov byte [esp + 0x23c], 0x17
call fcn.100011df
add esp, 0x2c
xor edi, edi
xor ebx, ebx
push edi
inc ebx
push ebx
lea ecx, [esp + 0xb0]
call fcn.100020f3
push edi
push ebx
lea ecx, [esp + 0xcc]
call fcn.100020f3
push edi
push ebx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x218], 0x1b
call fcn.100020f3
or dword [esp + 0x14], 0xffffffff
mov ecx, dword [esp + 0x1b0]
push 8
pop esi
cmp dword [esp + 0x1f8], edi
jne 0x1001243c
cmp dword [esp + 0x1c4], esi
jae 0x10012352
lea ecx, [esp + 0x1b0]
mov eax, dword [esp + 0x194]
cmp dword [esp + 0x1a8], esi
jae 0x10012369
lea eax, [esp + 0x194]
push ecx
push eax
push str.execute_installer:__s__s
call fcn.10030368
add esp, 0xc
push 0x38
lea eax, [esp + 0x58]
push edi
push eax
mov dword [esp + 0x5c], 0x3c
call fcn.10038cf0
mov eax, dword [esp + 0x1a0]
add esp, 0xc
cmp dword [esp + 0x1a8], esi
jae 0x100123a7
lea eax, [esp + 0x194]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1b0]
cmp dword [esp + 0x1c4], esi
jae 0x100123c2
lea eax, [esp + 0x1b0]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x60], str.open
mov dword [esp + 0x70], ebx
mov dword [esp + 0x58], 0x40
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x1001241c
push 0xffffffffffffffff
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x8c]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [esp + 0x88]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10012562
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.execute_failed__last_error:__d
call fcn.10030368
pop ecx
pop ecx
mov dword [esp + 0x14], 6
jmp 0x10012562
cmp dword [esp + 0x1c4], esi
jae 0x1001244c
lea ecx, [esp + 0x1b0]
mov eax, dword [esp + 0x194]
cmp dword [esp + 0x1a8], esi
jae 0x10012463
lea eax, [esp + 0x194]
push ecx
push eax
push str.__ls___ls
lea ecx, [esp + 0x180]
call fcn.1002d7c0
add esp, 0xc
mov byte [esp + 0x210], 0x1c
mov ecx, dword [esp + 0x178]
cmp dword [esp + 0x18c], esi
jae 0x10012498
lea ecx, [esp + 0x178]
mov eax, dword [esp + 0x1cc]
cmp dword [esp + 0x1e0], esi
jae 0x100124af
lea eax, [esp + 0x1cc]
push ecx
push eax
push str.execute_installer_as_account__s:__s
call fcn.10030368
mov eax, dword [esp + 0x184]
add esp, 0xc
cmp dword [esp + 0x18c], esi
jae 0x100124d5
lea eax, [esp + 0x178]
mov edx, dword [esp + 0x1e8]
cmp dword [esp + 0x1fc], esi
jae 0x100124ec
lea edx, [esp + 0x1e8]
mov ecx, dword [esp + 0x1cc]
cmp dword [esp + 0x1e0], esi
jae 0x10012503
lea ecx, [esp + 0x1cc]
push edx
push ecx
call fcn.1002c9c4
mov esi, eax
mov dword [esp + 0x18], esi
cmp esi, edi
je 0x10012530
cmp esi, 0xffffffff
je 0x10012530
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea eax, [esp + 0x14]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
jmp 0x1001254b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.execute_failed__last_error:__d
call fcn.10030368
pop ecx
pop ecx
mov dword [esp + 0x14], 6
lea eax, [esp + 0x18]
call fcn.10002f50
push edi
push ebx
lea esi, [esp + 0x17c]
call fcn.100021ef
push dword [esp + 0x14]
push str.installCode
push str.Softwareprojonepodlp_softwareInstall_
call fcn.1002d878
push edi
push ebx
lea esi, [esp + 0x1ec]
call fcn.100021ef
push edi
push ebx
lea esi, [esp + 0x1d0]
call fcn.100021ef
push edi
push ebx
lea esi, [esp + 0x1b4]
call fcn.100021ef
push edi
push ebx
lea esi, [esp + 0x198]
call fcn.100021ef
or dword [esp + 0x210], 0xffffffff
lea esi, [esp + 0x1c]
call fcn.10022266
mov ecx, dword [esp + 0x208]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1f0]
xor ecx, esp
call fcn.100366e3
mov esp, ebp
pop ebp
ret 0x10