Function at 0x5c41ba
Capabilities:
Create process on windows

Disassembly:
push ebp
sub esp, 0x5c
mov eax, 0x6bee2c
call fcn.00664608
sub esp, 0x6c
push ebx
xor ebx, ebx
mov dword [ebp - 0x10], 7
push esi
xor eax, eax
mov dword [ebp - 0x24], ebx
push edi
mov dword [ebp - 0x14], ebx
mov word [ebp - 0x24], ax
mov esi, dword [ebp + 0x68]
mov eax, esi
mov dword [ebp - 4], ebx
cmp dword [esi + 0x14], 8
jb 0x5c41f3
mov eax, dword [esi]
push ebx
lea ecx, [ebp - 0x24]
push ecx
push eax
call fcn.004f3297
test eax, eax
jne 0x5c421c
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x5c420c
mov eax, dword [esi]
push 1
lea ecx, [ebp - 0x24]
push ecx
push eax
call fcn.004f3297
test eax, eax
je 0x5c423a
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x5c4226
mov eax, dword [esi]
push ebx
push ebx
lea ecx, [ebp - 0x24]
push ecx
push eax
call fcn.004f2efb
test al, al
jne 0x5c4418
mov dword [ebp + 0x34], fcn.0043b735
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
push 0xf
pop esi
push 4
mov dword [ebp + 0x44], ebx
lea ecx, [ebp + 0x44]
push str.fail
mov byte [ebp - 4], 1
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], esi
mov byte [ebp + 0x44], bl
call fcn.00410407
push 6
mov dword [ebp + 0x1c], ebx
lea ecx, [ebp + 0x1c]
push str.result
mov byte [ebp - 4], 2
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x1c], bl
call fcn.00410407
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp + 0x34]
call fcn.00438264
mov eax, dword [ebp + 0x30]
mov edi, 0x1000
push 0x10
pop ebx
cmp eax, ebx
jb 0x5c42d8
mov ecx, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c42cf
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov eax, dword [ebp + 0x58]
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x1c], cl
mov byte [ebp - 4], 1
cmp eax, ebx
jb 0x5c431a
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c430f
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp + 0x44], ecx
push 3
mov dword [ebp + 0x54], ecx
mov byte [ebp + 0x44], cl
lea ecx, [ebp + 0x44]
push 0x6e050c
mov dword [ebp + 0x58], esi
call fcn.00410407
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp + 0x44]
push eax
lea ecx, [ebp + 0x34]
call fcn.004f8491
mov eax, dword [ebp + 0x58]
mov byte [ebp - 4], 1
cmp eax, ebx
jb 0x5c437e
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c4375
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
xor eax, eax
mov dword [ebp + 0x58], esi
push str.install.verifysig.fail
mov byte [ebp + 0x68], al
lea ecx, [ebp + 0x44]
push dword [ebp + 0x68]
mov dword [ebp + 0x44], eax
push 0x16
mov dword [ebp + 0x54], eax
mov byte [ebp + 0x44], al
call fcn.0041039b
lea eax, [ebp + 0x34]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.005c31d3
mov eax, dword [ebp + 0x58]
cmp eax, ebx
jb 0x5c43e3
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c43da
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov esi, dword [ebp + 0x38]
test esi, esi
je 0x5c4411
mov ebx, dword [ebp + 0x3c]
cmp esi, ebx
je 0x5c4402
mov ecx, esi
call fcn.0042a0ed
add esi, 8
cmp esi, ebx
jne 0x5c43f1
mov esi, dword [ebp + 0x38]
mov eax, dword [ebp + 0x40]
sub eax, esi
and eax, 0xfffffff8
push eax
push esi
call fcn.004276a2
xor bl, bl
jmp 0x5c46b7
xor eax, eax
lea edi, [ebp - 0x34]
stosd dword es:[edi], eax
push 0x44
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x78]
pop edi
push edi
push ebx
push eax
call fcn.006678b0
add esp, 0xc
mov dword [ebp - 0x78], edi
lea ecx, [ebp + 4]
mov dword [ebp + 4], ebx
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
push 0x7eca3c
call fcn.00427a37
mov byte [ebp - 4], 6
call fcn.00466149
push eax
lea eax, [ebp + 0x44]
push str.__D_s
push eax
call fcn.004577f2
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 7
jb 0x5c4474
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp + 4]
call fcn.00427b45
lea ecx, [ebp + 0x44]
mov byte [ebp - 4], 6
call fcn.00427afc
cmp dword [ebp + 0x18], 8
lea eax, [ebp + 4]
jb 0x5c4498
mov eax, dword [ebp + 4]
cmp dword [esi + 0x14], 8
jb 0x5c44a0
mov esi, dword [esi]
lea ecx, [ebp - 0x34]
push ecx
lea ecx, [ebp - 0x78]
push ecx
push ebx
push ebx
push 8
push ebx
push ebx
push ebx
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_CreateProcessW]
mov dword [ebp], eax
mov edi, 0x1000
test eax, eax
je 0x5c44ed
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
push 8
push 0x493e0
push dword [ebp - 0x34]
lea eax, [ebp + 0x68]
push 0x5c20db
push dword [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.DLL_RegisterWaitForSingleObject]
jmp 0x5c4667
mov dword [ebp + 0x34], fcn.0043b735
mov dword [ebp + 0x38], ebx
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x40], ebx
push 0xf
pop esi
push 4
mov dword [ebp + 0x44], ebx
lea ecx, [ebp + 0x44]
push str.fail
mov byte [ebp - 4], 8
mov dword [ebp + 0x54], ebx
mov dword [ebp + 0x58], esi
mov byte [ebp + 0x44], bl
call fcn.00410407
push 6
mov dword [ebp + 0x1c], ebx
lea ecx, [ebp + 0x1c]
push str.result
mov byte [ebp - 4], 9
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x1c], bl
call fcn.00410407
lea eax, [ebp + 0x44]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp + 0x1c]
push eax
lea ecx, [ebp + 0x34]
call fcn.00438264
mov eax, dword [ebp + 0x30]
push 0x10
pop ebx
cmp eax, ebx
jb 0x5c4586
mov ecx, dword [ebp + 0x1c]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c457d
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov eax, dword [ebp + 0x58]
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x1c], cl
mov byte [ebp - 4], 8
cmp eax, ebx
jb 0x5c45c8
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c45bd
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
xor ecx, ecx
push str.install.launch.fail
mov byte [ebp + 0x68], cl
push dword [ebp + 0x68]
mov dword [ebp + 0x44], ecx
mov dword [ebp + 0x54], ecx
mov byte [ebp + 0x44], cl
lea ecx, [ebp + 0x44]
push 0x13
mov dword [ebp + 0x58], esi
call fcn.0041039b
lea eax, [ebp + 0x34]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp + 0x44]
push eax
call fcn.005c31d3
mov eax, dword [ebp + 0x58]
mov byte [ebp - 4], 8
cmp eax, ebx
jb 0x5c462f
mov ecx, dword [ebp + 0x44]
inc eax
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c4626
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov ecx, 0x7ecaf4
call fcn.006a0576
mov esi, dword [ebp + 0x38]
test esi, esi
je 0x5c4667
mov ebx, dword [ebp + 0x3c]
cmp esi, ebx
je 0x5c4658
mov ecx, esi
call fcn.0042a0ed
add esi, 8
cmp esi, ebx
jne 0x5c4647
mov esi, dword [ebp + 0x38]
mov eax, dword [ebp + 0x40]
sub eax, esi
and eax, 0xfffffff8
push eax
push esi
call fcn.004276a2
cmp dword [ebp], 0
mov eax, dword [ebp + 0x18]
setne bl
cmp eax, 8
jb 0x5c46a6
mov ecx, dword [ebp + 4]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c469d
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
and dword [ebp + 0x14], 0
xor eax, eax
mov dword [ebp + 0x18], 7
mov word [ebp + 4], ax
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x5c46ef
mov ecx, dword [ebp - 0x24]
lea eax, [eax*2 + 2]
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], ecx
cmp eax, edi
jb 0x5c46e6
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x5c]
push eax
call fcn.004279ae
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x5c]
push eax
push ecx
call fcn.006643a9
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add ebp, 0x60
leave
ret 4