Function at 0x5a10a0
Capabilities:
Check if file exists
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov dword [ebp - 0xc], ecx
mov byte [ebp - 1], 0
mov byte [ebp - 1], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 0
je 0x5a1462
cmp dword [ebp - 0x14], 0
je 0x5a1462
mov edx, dword [ebp - 0x14]
add edx, 0x608
je 0x5a1462
lea ecx, [ebp - 0x10]
call fcn.00413220
mov eax, dword [ebp - 0x14]
push eax
push 0x6a5e10
lea ecx, [ebp - 0x10]
push ecx
call fcn.00422a10
add esp, 0xc
lea ecx, [ebp - 0x10]
call fcn.0040d3c0
push eax
push 0x6a5e18
call fcn.005564a0
add esp, 8
lea ecx, [ebp - 0x10]
call fcn.0040d3c0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5a145a
push 0x6a5e44
lea ecx, [ebp - 0x2c]
call fcn.004131e0
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0xc]
call fcn.005a2d90
push 0x104
mov ecx, dword [ebp - 0xc]
add ecx, 8
call fcn.00422c50
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov edx, dword [ebp + 8]
push edx
push 0
mov ecx, dword [ebp - 0xc]
call fcn.005a25c0
test eax, eax
jne 0x5a1416
mov eax, dword [ebp - 0xc]
movzx ecx, byte [eax + 0xc]
push ecx
push 0
mov ecx, dword [ebp - 0xc]
add ecx, 8
call fcn.00422c50
push eax
mov ecx, dword [ebp - 0xc]
call fcn.005a2320
push 2
push 9
push 0
lea ecx, [ebp - 0x54]
call fcn.006150e0
push 1
lea ecx, [ebp - 0x54]
call fcn.00423ad0
push 0
lea edx, [ebp - 0x54]
push edx
call fcn.004bc680
mov ecx, eax
call fcn.004bc7d0
push 2
push 0x47
push 0
lea ecx, [ebp - 0x68]
call fcn.006150e0
push 0
lea eax, [ebp - 0x68]
push eax
call fcn.004bc680
mov ecx, eax
call fcn.004bc7d0
lea ecx, [ebp + 0xc]
call fcn.0040dd70
movzx ecx, al
test ecx, ecx
jne 0x5a1406
lea ecx, [ebp + 0x10]
call fcn.0040dd70
movzx edx, al
test edx, edx
jne 0x5a1406
lea ecx, [ebp + 0x14]
call fcn.0040dd70
movzx eax, al
test eax, eax
jne 0x5a1406
lea ecx, [ebp + 0x18]
call fcn.0040dd70
movzx ecx, al
test ecx, ecx
jne 0x5a1406
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0xc]
call fcn.005a3020
lea ecx, [ebp - 0x18]
call fcn.00413220
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x24]
push ecx
call fcn.005a32e0
add esp, 8
push 0x6a5e48
lea edx, [ebp + 0xc]
push edx
call fcn.00429e60
add esp, 8
movzx eax, al
test eax, eax
je 0x5a12a3
call fcn.0052ccf0
mov ecx, eax
call fcn.005377c0
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x5a12a3
push ecx
mov ecx, esp
lea edx, [ebp + 0x10]
push edx
call fcn.00421650
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x1c]
call fcn.0060cbd0
push eax
lea ecx, [ebp + 0xc]
call fcn.0040d360
lea ecx, [ebp - 0x30]
call fcn.00413870
xor ecx, ecx
mov byte [ebp - 2], cl
lea ecx, [ebp + 0xc]
call fcn.0040dcd0
shl eax, 1
push eax
lea ecx, [ebp + 0xc]
call fcn.0040d3c0
push eax
push 1
push str.LTWPCid
lea ecx, [ebp - 2]
call fcn.005a6430
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor edx, edx
mov byte [ebp - 3], dl
lea ecx, [ebp + 0x10]
call fcn.0040dcd0
shl eax, 1
push eax
lea ecx, [ebp + 0x10]
call fcn.0040d3c0
push eax
push 1
push str.LTWPPid
lea ecx, [ebp - 3]
call fcn.005a5c60
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor eax, eax
mov byte [ebp - 4], al
lea ecx, [ebp + 0x14]
call fcn.0040dcd0
shl eax, 1
push eax
lea ecx, [ebp + 0x14]
call fcn.0040d3c0
push eax
push 1
push str.LTWPBurl
lea ecx, [ebp - 4]
call fcn.005a61a0
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor ecx, ecx
mov byte [ebp - 5], cl
lea ecx, [ebp + 0x18]
call fcn.0040dcd0
shl eax, 1
push eax
lea ecx, [ebp + 0x18]
call fcn.0040d3c0
push eax
push 1
push str.LTWPSurl
lea ecx, [ebp - 5]
call fcn.005a64d0
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor edx, edx
mov byte [ebp - 6], dl
lea ecx, [ebp - 0x18]
call fcn.0040dcd0
shl eax, 1
push eax
lea ecx, [ebp - 0x18]
call fcn.0040d3c0
push eax
push 1
push str.LTWPMd5
lea ecx, [ebp - 6]
call fcn.005a5840
push eax
push SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov dword [ebp - 0x40], 0x28
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
call fcn.004becd0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5a13f6
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x34]
push ecx
push 0x3e8
push 1
lea edx, [ebp - 0x40]
push edx
push 0
push 0x4a
mov eax, dword [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
lea ecx, [ebp - 0x18]
call fcn.00413870
lea ecx, [ebp - 0x24]
call fcn.00413870
lea ecx, [ebp - 0x68]
call fcn.006151e0
lea ecx, [ebp - 0x54]
call fcn.006151e0
lea ecx, [ebp + 0x14]
call fcn.0040dd70
movzx ecx, al
test ecx, ecx
jne 0x5a1452
push 0
call fcn.0055bdd0
add esp, 4
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x5a1452
push 0
lea ecx, [ebp - 0x10]
call fcn.00422c50
push eax
push 0x84e
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x2c]
call fcn.00413870
lea ecx, [ebp - 0x10]
call fcn.00413870
push 0
push 0
push 1
push 0
push str.setwp
call fcn.004154a0
mov ecx, eax
call fcn.005f1000
mov al, byte [ebp - 1]
mov byte [ebp - 7], al
lea ecx, [ebp + 0xc]
call fcn.00413870
lea ecx, [ebp + 0x10]
call fcn.00413870
lea ecx, [ebp + 0x14]
call fcn.00413870
lea ecx, [ebp + 0x18]
call fcn.00413870
mov al, byte [ebp - 7]
mov esp, ebp
pop ebp
ret 0x14