Function at 0x41bd59
Capabilities:
Create process on windows

Disassembly:
push 0x26c
mov eax, 0x4954dc
call fcn.0047a393
mov eax, ecx
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x23c]
xor ebx, ebx
push ecx
mov ecx, eax
mov dword [ebp - 0x244], ebx
call fcn.0043b0fc
and dword [ebp - 4], ebx
lea ecx, [ebp - 0x254]
push eax
call fcn.0041ca29
lea ecx, [ebp - 0x23c]
mov byte [ebp - 4], 2
call fcn.004144c8
mov edi, dword [ebp - 0x254]
cmp edi, dword [ebp - 0x250]
je 0x41c0bf
add edi, 0x58
push ecx
push 0x4ae9ec
lea ecx, [ebp - 0x60]
call fcn.0041f65c
mov byte [ebp - 4], 3
lea ecx, [edi + 0xec]
or ebx, 1
lea edx, [ebp - 0x60]
mov dword [ebp - 0x244], ebx
call fcn.00420628
test al, al
je 0x41be12
mov eax, dword [ebp - 0x248]
sub esp, 0xc
add eax, 0xc44
mov ecx, esp
push eax
call fcn.00414ec9
lea ecx, [edi - 0x58]
call fcn.0043f70c
add esp, 0xc
mov byte [ebp - 0x23d], 1
test al, al
jne 0x41be19
mov byte [ebp - 0x23d], 0
mov dword [ebp - 4], 2
test bl, 1
je 0x41be30
lea ecx, [ebp - 0x60]
and ebx, 0xfffffffe
call fcn.0041f857
cmp byte [ebp - 0x23d], 0
je 0x41c0aa
and dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
push ecx
push str.InstallLocation
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 4
call fcn.0041f65c
push ecx
push str.HKCUSoftwareMicrosoftWindowsCurrentVersionUninstallAmigo
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 5
call fcn.0041f65c
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0xdc]
call fcn.0043550f
lea ecx, [ebp - 0x60]
call fcn.0041f857
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 9
call fcn.0041f857
lea eax, [ebp - 0x264]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00435861
lea ecx, [ebp - 0x264]
mov esi, dword [eax + 4]
call fcn.00413542
test esi, esi
je 0x41bf14
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0xdc]
call fcn.00435861
mov byte [ebp - 4], 0xa
mov eax, dword [eax]
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x41beef
mov esi, dword [esi]
push esi
call fcn.00413cf3
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.004152c1
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 9
call fcn.00413542
jmp 0x41bfe5
push ecx
push str.InstallLocation
lea ecx, [ebp - 0x1c0]
call fcn.0041f65c
push ecx
push str.HKLMSoftwareMicrosoftWindowsCurrentVersionUninstallAmigo
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0xb
call fcn.0041f65c
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x124]
call fcn.0043550f
lea ecx, [ebp - 0x18c]
call fcn.0041f857
lea ecx, [ebp - 0x1c0]
mov byte [ebp - 4], 0xf
call fcn.0041f857
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x124]
call fcn.00435861
lea ecx, [ebp - 0x25c]
mov esi, dword [eax + 4]
call fcn.00413542
test esi, esi
je 0x41bfd6
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x124]
call fcn.00435861
mov byte [ebp - 4], 0x10
mov eax, dword [eax]
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x41bfba
mov esi, dword [esi]
push esi
call fcn.00413cf3
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.004152c1
lea ecx, [ebp - 0x274]
call fcn.00413542
lea ecx, [ebp - 0x124]
mov byte [ebp - 4], 9
call fcn.00435636
cmp dword [ebp - 0x1c], 0
je 0x41c070
mov esi, str._amigo.exe
push esi
call fcn.00413cf3
pop ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.0041521e
lea eax, [ebp - 0x2c]
mov esi, 0x4aebdc
push eax
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.0041d7b0
pop ecx
push esi
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x90]
call fcn.0041d77e
cmp dword [edi + 0x14], 8
pop ecx
jb 0x41c036
mov ecx, dword [edi]
jmp 0x41c038
mov ecx, edi
cmp dword [eax + 0x14], 8
jb 0x41c040
mov eax, dword [eax]
push 1
push 0
push ecx
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.00415035
push 0
push 1
lea ecx, [ebp - 0x78]
call fcn.00415035
jmp 0x41c08f
cmp dword [edi + 0x14], 8
jb 0x41c07a
mov eax, dword [edi]
jmp 0x41c07c
mov eax, edi
push 1
xor ecx, ecx
push ecx
push ecx
push eax
push str.open
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 0xdc]
call fcn.00435636
push 0
push 1
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.00415035
add edi, 0x26c
lea eax, [edi - 0x58]
cmp eax, dword [ebp - 0x250]
jne 0x41bdb9
lea ecx, [ebp - 0x254]
call fcn.004150e9
call fcn.0047a342
ret