Function at 0x4033ec
Capabilities:
Set registry value
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x620
mov eax, dword [0x46c004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x46ca34]
push ebx
push esi
mov esi, str.HKEY_LOCAL_MACHINE
push edi
cmp eax, 0x80000002
je 0x403418
mov esi, str.HKEY_CURRENT_USER
xor edx, edx
lea ecx, [ebp - 0x610]
push edx
push ecx
push edx
push 4
push edx
push edx
push edx
push 0x46ca00
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebx, dword [sym.imp.USER32.dll_GetFocus]
test eax, eax
je 0x40346f
cmp eax, 5
jne 0x40345e
push 0x10
push 0
push str.You_do_not_seem_to_have_sufficient_access_rights_non_this_machine_to_install_this_software
call ebx
push eax
call edi
xor eax, eax
jmp 0x403767
push 0
push str.Could_not_open_key
push 0x46ca00
call ebx
push eax
call edi
push 0x46e960
push 0x46e9e0
lea eax, [ebp - 0x10c]
push str._s_s_wininst.log
push eax
call fcn.00401656
lea eax, [ebp - 0x10c]
push 0x466494
push eax
call fcn.0040fec3
add esp, 0x18
mov dword [0x46e9cc], eax
test eax, eax
jne 0x4034e4
call fcn.00423146
push dword [eax]
call fcn.00433190
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x60c]
push str.Cant_create___s____s_._n_nTry_to_execute_the_installer_as_administrator.
push eax
call fcn.00401656
add esp, 0x14
lea eax, [ebp - 0x60c]
push 0x10
push 0
push eax
call ebx
push eax
call edi
jmp 0x403457
lea eax, [ebp - 0x620]
push eax
call fcn.00425261
lea eax, [ebp - 0x620]
push eax
call fcn.00425861
lea eax, [ebp - 0x620]
push eax
call fcn.00425861
push eax
push str._Installation_started__Y__m__d__H:_M__n
lea eax, [ebp - 0x10c]
push 0x105
push eax
call fcn.00410fae
lea eax, [ebp - 0x10c]
push eax
push dword [0x46e9cc]
call fcn.004015ea
push 0x46eb00
push str.Source:__s_n
push dword [0x46e9cc]
call fcn.004015ea
push esi
push str.999_Root_Key:__s_n
push dword [0x46e9cc]
call fcn.004015ea
push dword [0x46e9b8]
lea eax, [ebp - 0x20c]
push dword [0x46e8d0]
push 0x46e960
push str._s_py_d._d
push eax
call fcn.00401656
add esp, 0x50
lea eax, [ebp - 0x618]
xor esi, esi
push eax
lea eax, [ebp - 0x614]
push eax
push esi
push 0x20006
push esi
push esi
push esi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x610]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x4035be
push esi
push str.Could_not_create_key
lea eax, [ebp - 0x20c]
push eax
call ebx
push eax
call edi
push dword [ebp - 0x610]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x618], 1
jne 0x4035f2
lea eax, [ebp - 0x20c]
push eax
push 0x46ca00
push str.020_Reg_DB_Key:___s__s_n
push dword [0x46e9cc]
call fcn.004015ea
add esp, 0x10
push 0x46e900
push dword [0x46e9b8]
lea eax, [ebp - 0x10c]
push dword [0x46e8d0]
push str.Python__d._d__s
push eax
call fcn.00401656
lea ecx, [ebp - 0x10c]
add esp, 0x14
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x403620
sub ecx, edx
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x10c]
push eax
push 1
push esi
push str.DisplayName
push dword [ebp - 0x614]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x40365e
push esi
push str.Could_not_set_key_value
lea eax, [ebp - 0x10c]
push eax
call ebx
push eax
call edi
lea eax, [ebp - 0x10c]
push eax
push str.DisplayName
lea eax, [ebp - 0x20c]
push eax
push 0x46ca00
push str.040_Reg_DB_Value:___s_s__s_s_n
push dword [0x46e9cc]
call fcn.004015ea
push 0x46e960
push 0x46e9e0
lea eax, [ebp - 0x10c]
push str._sRemove_s.exe
push eax
call fcn.00401656
lea eax, [ebp - 0x10c]
push 0x4665d0
push eax
call fcn.0040fec3
mov esi, eax
push esi
push 1
push dword [0x46e6a4]
push dword [0x46e954]
call fcn.00423075
add esp, 0x40
push esi
call fcn.004101be
mov eax, 0x46e960
mov ecx, 0x46e9e0
push eax
push ecx
push eax
push ecx
lea eax, [ebp - 0x10c]
push str.__sRemove_s.exe___u___s_s_wininst.log_
push eax
call fcn.00401656
lea ecx, [ebp - 0x10c]
add esp, 0x1c
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4036fc
sub ecx, edx
mov esi, str.UninstallString
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x10c]
push eax
push 1
push 0
push esi
push dword [ebp - 0x614]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x40373d
push 0
push str.Could_not_set_key_value
lea eax, [ebp - 0x10c]
push eax
call ebx
push eax
call edi
lea ecx, [ebp - 0x10c]
push ecx
push esi
lea ecx, [ebp - 0x20c]
push ecx
push 0x46ca00
push str.040_Reg_DB_Value:___s_s__s_s_n
push dword [0x46e9cc]
call fcn.004015ea
xor eax, eax
add esp, 0x18
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004079b2
mov esp, ebp
pop ebp
ret