Function at 0x412180
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
sub esp, 0x418
push ebx
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [esp + 0x21e]
mov word [esp + 0x21c], si
rep stosd dword es:[edi], eax
mov ecx, dword [0x5d00a4]
push 0x104
stosw word es:[edi], ax
lea eax, [esp + 0x220]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dword [esp + 0x10], 0x208
mov dword [esp + 0xc], 1
call fcn.00412410
test eax, eax
je 0x412405
cmp dword [esp + 0x428], esi
je 0x4122ed
mov ebx, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x10]
push eax
push ecx
push 0x4e4808
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
test eax, eax
jne 0x412244
lea edx, [esp + 0x14]
push edx
call edi
add esp, 4
shl eax, 1
push eax
lea eax, [esp + 0x18]
push eax
push 1
push str.exeOld
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea ecx, [esp + 0x21c]
push ecx
call edi
add esp, 4
lea edx, [esp + 0x21c]
shl eax, 1
push eax
push edx
push 1
push 0x4e4808
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x10]
push ecx
push edx
push 0x4e4808
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
test eax, eax
jne 0x4122b8
lea eax, [esp + 0x14]
push eax
call edi
add esp, 4
lea ecx, [esp + 0x14]
shl eax, 1
push eax
push ecx
push 1
push str.exeOld
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea edx, [esp + 0x21c]
push edx
call edi
add esp, 4
shl eax, 1
push eax
lea eax, [esp + 0x220]
push eax
push 1
push 0x4e4808
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
pop edi
pop esi
pop ebx
add esp, 0x418
ret
lea ecx, [esp + 0x10]
push ebp
mov ebp, dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push str.exeOld
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
mov word [esp + 0x30], si
call ebp
mov ebx, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
mov edi, dword [sym.imp.MSVCRT.dll_wcslen]
mov esi, dword [sym.imp.SHLWAPI.dll_SHDeleteValueW]
test eax, eax
jne 0x412384
lea ecx, [esp + 0x18]
push ecx
call edi
add esp, 4
test eax, eax
jbe 0x412384
push str.exeOld
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push 0x4e4808
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea edx, [esp + 0x18]
push edx
call edi
add esp, 4
shl eax, 1
push eax
lea eax, [esp + 0x1c]
push eax
push 1
push 0x4e4808
push str.SOFTWARETENCENTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
lea ecx, [esp + 0x14]
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x14]
push edx
push eax
push str.exeOld
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
mov word [esp + 0x30], 0
call ebp
test eax, eax
pop ebp
jne 0x412405
lea ecx, [esp + 0x14]
push ecx
call edi
add esp, 4
test eax, eax
jbe 0x412405
push str.exeOld
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
push 0x4e4808
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call esi
lea edx, [esp + 0x14]
push edx
call edi
add esp, 4
shl eax, 1
push eax
lea eax, [esp + 0x18]
push eax
push 1
push 0x4e4808
push str.SOFTWARETENCENTTTraveler
push reloc.OLEAUT32.dll_SysReAllocString
call ebx
pop edi
pop esi
pop ebx
add esp, 0x418
ret