Function at 0x10008b2d
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000a17e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4ec
push esi
push edi
mov dword [ebp - 0x3b0], 0xc8
mov dword [ebp - 0x3b8], 0
mov byte [ebp - 0x4bc], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x4bb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.100014fd
mov dword [0x100fd618], eax
mov eax, dword [ebp + 8]
add eax, 0x34
push eax
lea ecx, [ebp - 0x3b4]
call fcn.10008f9c
mov dword [ebp - 4], 0
cmp dword [0x100fd618], 0
je 0x10008eab
mov dword [ebp - 0x4c0], 0
jmp 0x10008bc5
mov ecx, dword [ebp - 0x4c0]
add ecx, 1
mov dword [ebp - 0x4c0], ecx
cmp dword [ebp - 0x4c0], 4
jge 0x10008ea9
cmp dword [ebp - 0x4c0], 0
je 0x10008be8
cmp dword [ebp - 0x4c0], 1
jne 0x10008c6e
push 1
lea edx, [ebp - 0x4cc]
push edx
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::Left
mov dword [ebp - 0x4e0], eax
mov eax, dword [ebp - 0x4e0]
mov ecx, dword [eax]
push ecx
push 0x100fa7ec
lea edx, [ebp - 0x4bc]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea ecx, [ebp - 0x4cc]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
lea edx, [ebp - 0x4bc]
push edx
push 0x80000001
call fcn.1000875c
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
lea edx, [ebp - 0x4bc]
push edx
push 0x80000002
call fcn.1000875c
add esp, 0x10
jmp 0x10008ea4
cmp dword [ebp - 0x4c0], 2
jne 0x10008e16
push 0x100fd710
push 0x100fa820
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::Replace
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x4d0], esp
lea eax, [ebp - 0x3b4]
push eax
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 0x4e4], eax
call fcn.10002ebf
add esp, 8
lea ecx, [ebp - 0x4c4]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c8]
call sub.MFC42.DLL_CString::CString_2
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3b4]
call fcn.10007970
mov esi, eax
push 0x5c
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::ReverseFind
sub esi, eax
sub esi, 1
push esi
lea ecx, [ebp - 0x4d4]
push ecx
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::Right
mov dword [ebp - 0x4e8], eax
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x4ec], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4ec]
push eax
lea ecx, [ebp - 0x4c4]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4d4]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x4c4]
push ecx
push 1
lea edx, [ebp - 0x4d8]
push edx
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::Left
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x4f4], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x4f4]
mov edx, dword [ecx]
push edx
push str._s__s
lea eax, [ebp - 0x4c8]
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4d8]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0x4c8]
push ecx
push str._sSoftwareMicrosoftWindowsCurrentVersion_run
lea edx, [ebp - 0x4bc]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
lea edx, [ebp - 0x4bc]
push edx
push 0x80000001
call fcn.1000875c
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
lea edx, [ebp - 0x4bc]
push edx
push 0x80000002
call fcn.1000875c
add esp, 0x10
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c8]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c4]
call sub.MFC42.DLL_CString::CString
jmp 0x10008ea4
cmp dword [ebp - 0x4c0], 3
jne 0x10008ea4
push 1
lea eax, [ebp - 0x4dc]
push eax
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::Left
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
mov edx, dword [ecx]
push edx
push str._s_SoftwareMicrosoftWindowsCurrentVersion_run
lea eax, [ebp - 0x4bc]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea ecx, [ebp - 0x4dc]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x3b8]
push edx
lea eax, [ebp - 0x4bc]
push eax
push 0x80000001
call fcn.1000875c
add esp, 0x10
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x3b8]
push edx
lea eax, [ebp - 0x4bc]
push eax
push 0x80000002
call fcn.1000875c
add esp, 0x10
jmp 0x10008bb6
jmp 0x10008ee5
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x3b8]
push edx
push 0x100fa894
push 0x80000001
call fcn.1000875c
add esp, 0x10
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3b8]
push ecx
push str.SoftwareMicrosoftWindowsCurrentVersion_run
push 0x80000002
call fcn.1000875c
add esp, 0x10
lea edx, [ebp - 0x3ac]
push edx
call fcn.100086d2
add esp, 4
jmp 0x10008f05
mov eax, dword [ebp - 0x3b8]
add eax, 1
mov dword [ebp - 0x3b8], eax
mov ecx, dword [ebp - 0x3b8]
cmp ecx, dword [ebp - 0x3b0]
jge 0x10008f47
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 9
push 0
lea ecx, [ebp - 0x3ac]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp + 8]
call dword [ecx + 0x4c4]
jmp 0x10008ef6
mov edx, dword [ebp - 0x3b0]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 9
push 0
lea ecx, [ebp - 0x3ac]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp + 8]
call dword [ecx + 0x4c4]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3b4]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret