Function at 0x423cc0
Capabilities:
Get common file path
Set registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x101c
call fcn.00439b40
mov eax, dword [0x4713e0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x2c
mov eax, dword [ebp + 0xc]
push eax
call fcn.00439480
add esp, 8
mov dword [ebp - 0x1008], eax
cmp dword [ebp - 0x1008], 0
jne 0x423cfb
xor eax, eax
jmp 0x424044
mov ecx, dword [ebp - 0x1008]
mov byte [ecx], 0
mov edx, dword [ebp - 0x1008]
add edx, 1
mov dword [ebp - 0x1008], edx
mov eax, dword [ebp + 0xc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x423d2a
mov edx, dword [ebp - 0x1008]
movsx eax, byte [edx]
test eax, eax
jne 0x423d31
xor eax, eax
jmp 0x424044
mov ecx, dword [ebp - 0x1008]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x46a838
call fcn.004145f0
add esp, 0xc
mov eax, dword [ebp - 0x1008]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
push str.Set_Uninst_Config__s_to__s_r_n
call fcn.00426800
add esp, 0xc
mov edx, dword [ebp - 0x1008]
push edx
lea eax, [ebp - 0x804]
push eax
call fcn.004392f0
add esp, 8
lea ecx, [ebp - 0x804]
push ecx
call fcn.00417b90
add esp, 4
lea edx, [ebp - 0x804]
push edx
call fcn.004150e0
add esp, 4
test eax, eax
jne 0x423da0
xor eax, eax
jmp 0x424044
push 0x400
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
test eax, eax
jne 0x423dbd
xor eax, eax
jmp 0x424044
mov ecx, 1
imul edx, ecx, 0
movzx eax, byte [ebp + edx - 0x404]
test eax, eax
je 0x423dfd
lea ecx, [ebp - 0x404]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx edx, byte [ebp + eax - 0x405]
cmp edx, 0x5c
je 0x423dfd
push 0x46a880
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x200
lea ecx, [ebp - 0x604]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x423e1c
xor eax, eax
jmp 0x424044
push 0x5c
lea edx, [ebp - 0x604]
push edx
call fcn.0043a8c0
add esp, 8
mov dword [ebp - 0x1008], eax
cmp dword [ebp - 0x1008], 0
je 0x423e55
mov eax, dword [ebp - 0x1008]
add eax, 1
push eax
lea ecx, [ebp - 0x604]
push ecx
call fcn.004392f0
add esp, 8
mov dword [0x474a74], 0
call fcn.0040f3b0
test eax, eax
je 0x423f51
mov edx, dword [0x4677fc]
mov dword [ebp - 0x101c], edx
push 0x46a884
mov eax, dword [ebp + 8]
push eax
call fcn.0040f430
add esp, 8
push 4
push 0x46a888
push 0
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x604]
push edx
call fcn.0041cf20
add esp, 0x14
mov dword [ebp - 0x100c], eax
push 0x46a894
mov eax, dword [ebp + 8]
push eax
call fcn.0040f430
add esp, 8
cmp dword [ebp - 0x100c], 0
je 0x423ef7
push 4
push 0x46a898
push 0
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x604]
push edx
call fcn.0041cf20
add esp, 0x14
test eax, eax
je 0x423ef7
mov dword [ebp - 0x1018], 1
jmp 0x423f01
mov dword [ebp - 0x1018], 0
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x100c], eax
cmp dword [ebp - 0x101c], 0
je 0x423f22
mov dword [ebp - 0x1014], 0x46a8a4
jmp 0x423f2c
mov dword [ebp - 0x1014], 0x46a8a8
mov ecx, dword [ebp - 0x1014]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0040f430
add esp, 8
cmp dword [ebp - 0x100c], 0
jne 0x423f4f
xor eax, eax
jmp 0x424044
jmp 0x423f7b
push 4
push str.23putes.exe
push 0
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x604]
push ecx
call fcn.0041cf20
add esp, 0x14
test eax, eax
jne 0x423f7b
xor eax, eax
jmp 0x424044
push str.23putes.exe__TheUnID:
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x404]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.__uninst:
lea edx, [ebp - 0x404]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [ebp - 0x804]
push eax
lea ecx, [ebp - 0x404]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edx, dword [ebp + 0xc]
push edx
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall
push 0x46a8dc
lea eax, [ebp - 0x1004]
push eax
call fcn.00439aa0
add esp, 0x10
lea ecx, [ebp - 0x1010]
push ecx
lea edx, [ebp - 0x1004]
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x424002
xor eax, eax
jmp 0x424044
lea eax, [ebp - 0x404]
push eax
call fcn.004393f0
add esp, 4
add eax, 1
push eax
lea ecx, [ebp - 0x404]
push ecx
push 1
push 0
push str.UninstallString
mov edx, dword [ebp - 0x1010]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x1010]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00439b24
mov esp, ebp
pop ebp
ret