Function at 0x4117f0
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49041b
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x4bf070]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov word [ebp - 0x53], 0x6572
mov dword [ebp - 0x22], 0x742e7377
mov dword [ebp - 0x2f], 0x6568735c
mov dword [ebp - 0x3b], 0x616d6d6f
mov dword [ebp - 0x35], 0x726f7453
mov dword [ebp - 0x66], 0x666f736f
mov dword [ebp - 0x60], 0x6e69575c
mov dword [ebp - 0x4f], 0x73726556
mov dword [ebp - 0x6a], 0x7263694d
mov word [ebp - 0x5c], 0x6f64
mov word [ebp - 0x16], 0x6e
mov word [ebp - 0x19], 0x7072
mov dword [ebp - 0x29], 0x69575c5c
mov dword [ebp - 0x1e], 0x626b7361
mov dword [ebp - 0x72], 0x41575446
mov word [ebp - 0x4b], 0x6f69
mov dword [ebp - 0x48], 0x78455c5c
mov dword [ebp - 0x6e], 0x5c5c4552
mov word [ebp - 0x56], 0x7543
mov word [ebp - 0x2b], 0x6c6c
mov dword [ebp - 0x43], 0x65726f6c
mov dword [ebp - 0x3f], 0x435c5c72
mov byte [ebp - 0x49], 0x6e
mov word [ebp - 0x37], 0x646e
mov word [ebp - 0x31], 0x5c65
mov word [ebp - 0x59], 0x5c73
mov byte [ebp - 0x54], 0x72
mov word [ebp - 0x51], 0x746e
mov word [ebp - 0x24], 0x6f64
mov byte [ebp - 0x1a], 0x61
mov word [ebp - 0x62], 0x5c74
mov byte [ebp - 0x57], 0x5c
mov byte [ebp - 0x17], 0x69
mov byte [ebp - 0x5a], 0x77
mov byte [ebp - 0x25], 0x6e
mov word [ebp - 0x74], 0x4f53
mov byte [ebp - 0x44], 0x70
mov word [ebp - 0x7b], 0x72
mov word [ebp - 0x90], 0x7845
mov word [ebp - 0x8d], 0x6f6c
mov word [ebp - 0x86], 0x6d6d
mov dword [ebp - 0x8a], 0x6f437265
mov word [ebp - 0x80], 0x6e61
mov word [ebp - 0x83], 0x646e
mov byte [ebp - 0x84], 0x61
mov word [ebp - 0x7e], 0x6c64
mov byte [ebp - 0x7c], 0x65
mov byte [ebp - 0x8b], 0x72
mov byte [ebp - 0x81], 0x48
mov byte [ebp - 0x8e], 0x70
call fcn.0040c560
mov ecx, eax
test ecx, ecx
jne 0x41196f
push 0x80004005
call fcn.0040c2a0
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
cmp eax, vtable.ATL::CAtlStringMgr.0
jne 0x411984
lock inc dword [ecx + 0x14]
lea eax, [ecx + 8]
jmp 0x411986
call edx
lea esi, [eax + 0x10]
mov dword [ebp - 0x94], esi
mov dword [ebp - 4], 0
mov ecx, 1
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0x98], 0x104
mov eax, dword [esi - 8]
sub ecx, dword [esi - 4]
sub eax, 0x104
or ecx, eax
jge 0x4119d4
push 0x104
lea ecx, [ebp - 0x94]
call fcn.0040c200
mov esi, dword [ebp - 0x94]
lea eax, [ebp - 0x98]
push eax
push esi
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x74]
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.SHLWAPI.dll_SHGetValueA]
push dword [esi - 8]
mov edi, eax
push esi
call fcn.00420290
add esp, 8
test eax, eax
js 0x411a73
cmp eax, dword [esi - 8]
jg 0x411a73
mov dword [esi - 0xc], eax
mov byte [eax + esi], 0
test edi, edi
je 0x411a43
lea ecx, [ebp - 0x94]
call fcn.0040c260
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041553e
mov esp, ebp
pop ebp
ret
push dword [esi - 0xc]
lea eax, [ebp - 0x90]
push esi
push 1
push eax
push str.SOFTWAREClasses_shell:
push reloc.WS2_32.dll_accept
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
lea ecx, [ebp - 0x94]
test eax, eax
jne 0x411a21
call fcn.0040c260
mov al, 1
jmp 0x411a28
push 0x80070057
call fcn.0040c2a0
int3