Function at 0x4476f0
Capabilities:
Persist via run registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55a058
mov eax, dword fs:[0]
push eax
mov eax, 0x1018
call fcn.00513740
mov eax, dword [0x61308c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x1018]
xor bl, bl
push eax
push 0x20019
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionRun
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [ebp - 0x1011], bl
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x447951
push 0x800
push eax
lea eax, [ebp - 0x1010]
push eax
call fcn.0052d340
add esp, 0xc
lea eax, [ebp - 0x1010]
push 0x400
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x800
lea eax, [ebp - 0x810]
push 0
push eax
call fcn.0052d340
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [ebp - 0x1020]
add esp, 0xc
mov dword [ebp - 0x1020], 0x400
mov dword [ebp - 0x1024], 1
push eax
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x1024]
push eax
push 0
push 0x59770c
push dword [ebp - 0x1018]
call ebx
test eax, eax
je 0x447876
mov esi, dword [0x618d28]
test esi, esi
jne 0x447807
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x101c], eax
mov dword [ebp - 4], esi
mov ecx, eax
call fcn.00409ee0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.RegQueryValueEx_KEY_DTL2013__failed_code:_d_
push 0x211
push 0x5977b4
push 1
push esi
call fcn.0040a3e0
add esp, 0x18
lea eax, [ebp - 0x1020]
push eax
lea eax, [ebp - 0x810]
push eax
lea eax, [ebp - 0x1024]
push eax
push 0
push str.DriveTheLife2012
push dword [ebp - 0x1018]
call ebx
test eax, eax
jne 0x447876
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.RegQueryValueEx_KEY_DTL2012__failed_code:_d_
push 0x214
push 0x59781c
push 1
call fcn.0040a150
push eax
call fcn.0040a3e0
add esp, 0x18
mov eax, dword [0x618d28]
test eax, eax
jne 0x4478a9
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x101c], eax
mov dword [ebp - 4], 1
mov ecx, eax
call fcn.00409ee0
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], eax
lea ecx, [ebp - 0x1010]
push ecx
push str.get_current_path__S_
push 0x217
push 0x597848
push 8
push eax
call fcn.0040a3e0
mov eax, dword [0x618d28]
add esp, 0x18
test eax, eax
jne 0x4478fd
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x101c], eax
mov dword [ebp - 4], 2
mov ecx, eax
call fcn.00409ee0
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], eax
lea ecx, [ebp - 0x810]
push ecx
push str.get_auto_run_path__S_
push 0x218
push 0x597874
push 8
push eax
call fcn.0040a3e0
add esp, 0x18
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x810]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
movzx ebx, byte [ebp - 0x1011]
test eax, eax
push dword [ebp - 0x1018]
mov ecx, 1
cmovne ebx, ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4479a9
mov esi, dword [0x618d28]
test esi, esi
jne 0x447988
push 0x70
call fcn.005120b2
add esp, 4
mov dword [ebp - 0x101c], eax
mov dword [ebp - 4], 3
mov ecx, eax
call fcn.00409ee0
mov esi, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x618d28], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.RegOpenKeyEx_HKEY_LOCAL_MACHINE__failed_code:_d_
push 0x220
push str.GlobalSetting.cpp
push 1
push esi
call fcn.0040a3e0
add esp, 0x18
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005120a1
mov esp, ebp
pop ebp
ret