Function at 0x401000
Capabilities:
Check if file exists
Move file
Query or enumerate registry value

Disassembly:
sub esp, 0x420
mov eax, dword [0x42d190]
xor eax, esp
mov dword [esp + 0x41c], eax
push esi
push edi
push eax
mov eax, str.nuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEK
mov eax, 0x41a930
mov eax, str.nuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnunuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8eknuEKUnuEKuEKUnuEKU2nunuEKUnubhonuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nurnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnunuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8eknuEKUnuEKuEKUnuEKU2nunuEKUnubhonuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2n
mov eax, 0x4224b0
mov eax, str.EKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBnuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnunuEKUnuEKuEKUnuEKU2nnuEKUnuEKuEKUnuEKU2nunuEKUnubhounuEKU2nuEnuEKU2nuEKU2ahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bhounuEKU2nuEnuEKU2nuEKU2ahnuEKUnuEKuEKUnuEKU2nunuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEnuEKUn2nnahrnuEKUnuEKU2nuEnuEKUnuEKuEKUnuEKU2nnahrnuEKUnuEKU2nuEKU2nuEKUnuEKuEKUnuEKU2nunuEKUnuEKuEKUnuEKU2nuEKU2ahrxEK28ekuBHRX5akrxHOX8ekrxHOU2bh
pop eax
push 0x208
xor esi, esi
lea eax, [esp + 0x220]
push esi
push eax
call fcn.00409a50
add esp, 0xc
push 0x104
lea ecx, [esp + 0x220]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40117d
push 0x208
lea edx, [esp + 0x18]
push esi
push edx
call fcn.00409a50
add esp, 0xc
lea eax, [esp + 8]
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x14]
push edx
push str.Path
push 0x41a598
push 0x80000002
mov dword [esp + 0x24], 1
mov dword [esp + 0x20], 0x208
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x40117d
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.safemon_safe505.exe
lea eax, [esp + 0x18]
push eax
call edi
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.00401be0
push str._safemon_
lea edx, [esp + 0x220]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
test eax, eax
jne 0x4010fc
push 4
push eax
lea eax, [esp + 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.safe505.dll
lea edx, [esp + 0x18]
push edx
call edi
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x401140
lea ecx, [esp + 0x14]
push ecx
call fcn.004015c0
add esp, 4
test eax, eax
je 0x401140
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x401160
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x40117d
push str.do505
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40117d
push 1
push 0x2742
call eax
mov ecx, dword [esp + 0x424]
pop edi
pop esi
xor ecx, esp
xor eax, eax
call fcn.004093f5
add esp, 0x420
ret 0x10