Function at 0x411a79
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x12c
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov dword [esi + 8], eax
cmp byte [0x47b0a0], bl
je 0x411af9
call fcn.00420ac3
call fcn.00420b40
call fcn.00420bfe
call fcn.00420c2e
call fcn.00420c5e
call fcn.00420c8e
call fcn.00420d4b
call fcn.00420f0e
call fcn.00421028
call fcn.00421142
call fcn.00421200
cmp byte [0x47b0a0], bl
je 0x411af9
mov eax, dword [0x47a4f4]
cmp eax, dword [0x47a4ec]
jb 0x411af9
ja 0x411c80
mov eax, dword [0x47a4f0]
cmp eax, dword [0x47a4e8]
ja 0x411c80
cmp dword [0x47a240], 3
jbe 0x411b1d
push ebx
mov ecx, 0x47a240
call fcn.0041ab9e
push eax
call fcn.0040d674
pop ecx
test al, al
pop ecx
je 0x411c80
mov edi, 0x47a4c0
mov ebp, 0x479ee8
push edi
mov ecx, ebp
call fcn.004189c2
mov eax, dword [0x47a4c0]
mov ecx, 0x47a4c0
dec eax
push eax
call fcn.00419e82
cmp al, 0x5c
je 0x411b50
push 0x5c
mov ecx, 0x47a4c0
call fcn.00419e97
push edi
mov ecx, ebp
call fcn.00415674
cmp dword [0x47a4e4], 1
jne 0x411c16
test byte [0x47a0ba], 2
jne 0x411c16
push edi
lea ecx, [esp + 0x18]
call fcn.00419d38
push ebx
push str.Uninstall
lea ecx, [esp + 0x1c]
call fcn.00419ee6
push 0x47a264
lea ecx, [esp + 0x18]
call fcn.00419f64
push ebx
push str..lnk
lea ecx, [esp + 0x1c]
call fcn.00419ee6
lea ecx, [esp + 0x14]
call fcn.0041ab9e
push eax
call fcn.0040d9bb
test al, al
pop ecx
jne 0x411c0d
mov eax, dword [esp + 0x14]
lea edi, [eax - 1]
cmp edi, ebx
jle 0x411bf4
push edi
lea ecx, [esp + 0x18]
call fcn.00419e82
cmp al, 0x5c
je 0x411bd8
dec edi
jmp 0x411bc3
push 1
push edi
push ebx
lea ecx, [esp + 0x20]
call fcn.0041ab15
mov ecx, eax
call fcn.0041ab9e
push eax
call fcn.0040d674
pop ecx
pop ecx
lea ecx, [esp + 0x14]
call fcn.0041ab9e
push 0x47a66c
push eax
mov ecx, 0x47a660
call fcn.0041f0bc
lea ecx, [esp + 0x14]
call fcn.00419d9a
mov ecx, ebp
call fcn.00418844
push ebx
push ebx
mov ecx, esi
mov dword [0x47a4f8], 1
call fcn.004140ee
mov ecx, esi
call fcn.00411469
test al, al
je 0x411c80
test byte [0x47a0b4], 2
je 0x411c59
mov ecx, esi
mov dword [0x47a4f8], 2
call fcn.0040fdb6
test al, al
je 0x411c80
test byte [0x47a0b4], 4
je 0x411c87
push ebx
push ebx
mov ecx, esi
mov dword [0x47a4f8], 3
call fcn.004140ee
mov ecx, esi
call fcn.0040fb01
test al, al
jne 0x411c87
xor al, al
jmp 0x411f86
cmp byte [0x47b0a0], bl
mov edi, dword [sym.imp.USER32.dll_SetWindowTextA]
mov ebp, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [0x47a4f8], 4
jne 0x411cba
mov ecx, 0x47ada8
call fcn.0041ab9e
push eax
push 0x14
push dword [esi + 8]
call ebp
push eax
call edi
push ebx
push ebx
mov ecx, 0x47a758
call fcn.004140ee
push ebx
push ebx
mov ecx, esi
call fcn.004140ee
lea ecx, [esp + 0x2c]
mov byte [0x47a6f1], 1
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
call fcn.00419c64
mov dword [esp + 0x10], 0x47a288
mov eax, dword [esp + 0x10]
sub esp, 0xc
mov ecx, esp
mov eax, dword [eax]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x38]
push eax
call fcn.00419d38
lea eax, [esp + 0x34]
mov ecx, esi
push eax
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x24]
push dword [esp + 0x3c]
call fcn.0041289f
add dword [esp + 0x10], 0x3c
cmp dword [esp + 0x10], 0x47a378
jl 0x411cef
cmp dword [esp + 0x20], ebx
jle 0x411d54
push ebx
mov ecx, 0x47adb4
call fcn.0041ab9e
push eax
mov ecx, 0x479ee8
push dword [esi + 8]
call fcn.0041916b
jmp 0x411f7b
cmp byte [0x47b0a0], bl
mov dword [0x47a4f8], 5
jne 0x411d7b
mov ecx, 0x47adc0
call fcn.0041ab9e
push eax
push 0x14
push dword [esi + 8]
call ebp
push eax
call edi
push ebx
push ebx
mov ecx, esi
call fcn.004140ee
mov ecx, esi
call fcn.0041273c
test al, al
jne 0x411da8
push ebx
mov ecx, 0x47adcc
call fcn.0041ab9e
push eax
mov ecx, 0x479ee8
push dword [esi + 8]
call fcn.0041916b
cmp byte [0x47b0a0], bl
mov dword [0x47a4f8], 6
jne 0x411dcf
mov ecx, 0x47add8
call fcn.0041ab9e
push eax
push 0x14
push dword [esi + 8]
call ebp
push eax
call edi
push ebx
push ebx
mov ecx, esi
call fcn.004140ee
mov ecx, esi
call fcn.0041238a
cmp byte [0x47b0a0], bl
mov dword [0x47a4f8], 7
jne 0x411e06
mov ecx, 0x47ade4
call fcn.0041ab9e
push eax
push 0x14
push dword [esi + 8]
call ebp
push eax
call edi
push ebx
push ebx
mov ecx, esi
call fcn.004140ee
mov ecx, esi
call fcn.00410131
test al, al
jne 0x411e33
push ebx
mov ecx, 0x47adf0
call fcn.0041ab9e
push eax
mov ecx, 0x479ee8
push dword [esi + 8]
call fcn.0041916b
cmp byte [0x47b0a0], bl
mov dword [0x47a4f8], 8
jne 0x411e5a
mov ecx, 0x47adfc
call fcn.0041ab9e
push eax
push 0x14
push dword [esi + 8]
call ebp
push eax
call edi
push ebx
push ebx
mov ecx, esi
call fcn.004140ee
push 0x47a430
mov ecx, esi
call fcn.0041314f
push dword [esi + 8]
mov edi, 0x47a660
mov ecx, edi
call fcn.00420088
test al, al
je 0x411f7b
cmp dword [0x47a4e4], 1
jne 0x411eba
test byte [0x47a0ba], 2
jne 0x411eba
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.0041fc62
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.00410077
mov dword [0x47a4e4], 2
push ebx
push 0x64
mov ecx, esi
call fcn.004140ee
cmp dword [0x47a388], ebx
mov eax, dword [0x47a0b8]
jg 0x411ee0
cmp dword [0x47a4e4], ebx
je 0x411f0b
test eax, 0x20000
jne 0x411f0b
cmp byte [0x47b0a0], bl
jne 0x411f5c
test eax, 0x10000
je 0x411f13
push 1
push 0x429ff8
push ebx
mov ecx, esi
call fcn.00410ec6
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp byte [0x47b0a0], bl
jne 0x411f5c
mov ecx, 0x47b030
call fcn.0040f4cb
push dword [0x47a0a0]
call dword [sym.imp.USER32.dll_GetDC]
push 0xcc0020
push ebx
push ebx
mov esi, eax
push dword [0x47a0ac]
push dword [0x47a09c]
push dword [0x47a098]
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
push dword [0x47a0a0]
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x411f6b
call fcn.00421230
call fcn.00421260
call fcn.00421311
push ebx
push ebx
push ebx
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov bl, 1
lea ecx, [esp + 0x2c]
call fcn.00419d9a
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12c
ret 4