Function at 0x4195e0
Capabilities:
Contain obfuscated stackstrings
Get common file path
Get disk information
Set registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x460688
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x738
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x228]
call sub.MFC42.DLL_CString::CString_2
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x224]
call fcn.00440170
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
add esp, 4
mov dword [ebp - 0x25c], 0
jmp 0x41964a
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 0x40
jge 0x41966e
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x25c]
mov byte [eax], dl
jmp 0x41963b
mov dword [ebp - 0x25c], 0
jmp 0x419689
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 3
jge 0x4196ae
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x25c]
mov byte [eax + 0x4d], dl
jmp 0x41967a
mov dword [ebp - 0x25c], 0
jmp 0x4196c9
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 7
jge 0x4196ee
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x25c]
mov byte [eax + 0x59], dl
jmp 0x4196ba
mov dword [ebp - 0x25c], 0
jmp 0x419709
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 2
jge 0x41972e
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x25c]
mov byte [eax + 0x6e], dl
jmp 0x4196fa
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
movsx edx, dl
mov eax, dword [ebp + 8]
mov dword [eax + 0x74], edx
lea ecx, [ebp - 0x710]
push ecx
call sub.MFC42.DLL_CTime::GetTickCount
push eax
lea ecx, [ebp - 0x224]
call fcn.00405d90
lea ecx, [ebp - 0x224]
call fcn.00405d30
mov edx, dword [ebp + 8]
mov dword [edx + 0x70], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov edx, dword [eax + 0x74]
xor edx, dword [ecx + 0x74]
mov eax, dword [ebp + 8]
mov dword [eax + 0x70], edx
mov dword [ebp - 0x25c], 0
jmp 0x41979b
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 8
jge 0x4197b8
call dword [sym.imp.MSVCRT.dll_rand]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x25c]
mov byte [edx + 0x78], al
jmp 0x41978c
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x84], eax
lea ecx, [ebp - 0x224]
call fcn.00405d30
mov edx, dword [ebp + 8]
xor eax, dword [edx + 0x84]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x80], eax
mov dword [ebp - 0x25c], 0
jmp 0x4197ff
mov edx, dword [ebp - 0x25c]
add edx, 1
mov dword [ebp - 0x25c], edx
cmp dword [ebp - 0x25c], 8
jge 0x41981f
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x25c]
mov byte [ecx + 0x88], al
jmp 0x4197f0
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x604]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 2
push 0x67
push 0x65
push 0x72
push 0x2e
push 0x64
push 0x79
push 0x63
push 0x74
push 0x77
push 0x471398
lea edx, [ebp - 0x604]
push edx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x2c
push 3
lea ecx, [ebp - 0x604]
call fcn.00405d30
push eax
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x100
lea ecx, [ebp - 0x704]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
movsx eax, byte [ebp + edx - 0x705]
cmp eax, 0x5c
jne 0x419914
lea ecx, [ebp - 0x704]
push ecx
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::operator_2
lea edx, [ebp - 0x258]
push edx
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x714]
push ecx
call sub.MFC42.DLL_operator_1
mov dword [ebp - 0x728], eax
mov edx, dword [ebp - 0x728]
mov dword [ebp - 0x72c], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x72c]
push eax
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x714]
call sub.MFC42.DLL_CString::CString
jmp 0x4199c3
lea ecx, [ebp - 0x704]
push ecx
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::operator_2
push 0x5c
lea edx, [ebp - 0x220]
push edx
lea eax, [ebp - 0x718]
push eax
call sub.MFC42.DLL_operator_2
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x734], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x734]
push edx
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x718]
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x220]
push ecx
lea edx, [ebp - 0x71c]
push edx
call sub.MFC42.DLL_operator_1
mov dword [ebp - 0x738], eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x73c]
push ecx
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::operator_1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x71c]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x248]
call fcn.0045ec0e
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x5fc]
call fcn.00405db0
push 0
push 0x1002
lea ecx, [ebp - 0x220]
call fcn.00405d30
push eax
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::Open
push 0x100
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::Write
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::Close
mov dword [ebp - 0x25c], 0
jmp 0x419a35
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0xc
jge 0x419a62
mov ecx, dword [ebp + 8]
xor edx, edx
mov dl, byte [ecx + 0x60]
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x25c]
movsx ecx, byte [eax]
xor edx, ecx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x25c]
mov byte [eax + 0x61], dl
jmp 0x419a26
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
push 0
push 2
lea ecx, [ebp - 0x220]
call fcn.00405d30
push eax
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::Open
lea edx, [ebp - 0x5fc]
push edx
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::GetStatus_1
lea ecx, [ebp - 0x5fc]
call fcn.00405d30
mov ecx, dword [ebp + 8]
xor eax, dword [ecx + 0x94]
mov edx, dword [ebp + 8]
mov dword [edx + 0x90], eax
mov dword [ebp - 0x25c], 0
jmp 0x419ad6
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 8
jge 0x419af6
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x25c]
mov byte [ecx + 0x98], al
jmp 0x419ac7
call dword [sym.imp.MSVCRT.dll_rand]
mov edx, dword [ebp + 8]
mov dword [edx + 0xa4], eax
lea ecx, [ebp - 0x224]
call fcn.00405d30
mov ecx, dword [ebp + 8]
xor eax, dword [ecx + 0xa4]
mov edx, dword [ebp + 8]
mov dword [edx + 0xa0], eax
mov dword [ebp - 0x25c], 0
jmp 0x419b3d
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 8
jge 0x419b5d
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x25c]
mov byte [ecx + 0xa8], al
jmp 0x419b2e
call dword [sym.imp.MSVCRT.dll_rand]
mov edx, dword [ebp + 8]
mov dword [edx + 0xb4], eax
lea ecx, [ebp - 0x5fc]
call fcn.00405d30
mov ecx, dword [ebp + 8]
xor eax, dword [ecx + 0xb4]
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], eax
mov dword [ebp - 0x25c], 0
jmp 0x419ba4
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 8
jge 0x419bc4
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x25c]
mov byte [ecx + 0xb8], al
jmp 0x419b95
lea ecx, [ebp - 0x238]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 7
mov dword [ebp - 0x600], 0
push 0x100
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov byte [ebp - 0x119], 0
mov eax, 1
test eax, eax
je 0x419c8c
lea ecx, [ebp - 0x21c]
push ecx
call dword [sym.imp.pblcdlg.dll_int___cdecl_GetMachineCodeAll_char__]
add esp, 4
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x70c], 0
jmp 0x419c38
mov edx, dword [ebp - 0x70c]
add edx, 1
mov dword [ebp - 0x70c], edx
cmp dword [ebp - 0x70c], 8
jge 0x419c62
mov eax, dword [ebp - 0x70c]
movsx ecx, byte [ebp + eax - 0x21c]
cmp ecx, 0x30
je 0x419c60
mov dword [ebp - 0x260], 0
jmp 0x419c62
jmp 0x419c29
cmp dword [ebp - 0x260], 0
jne 0x419c6d
jmp 0x419c8c
mov edx, dword [ebp - 0x600]
add edx, 1
mov dword [ebp - 0x600], edx
cmp dword [ebp - 0x600], 0x14
jl 0x419c87
jmp 0x419c8c
jmp 0x419bf6
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x238]
call sub.MFC42.DLL_CString::operator_2
push 0x80
lea ecx, [ebp - 0x3e0]
push ecx
lea edx, [ebp - 0x708]
push edx
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x230]
push ecx
push 0x80
lea edx, [ebp - 0x464]
push edx
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xc4], eax
push 8
lea edx, [ebp - 0x724]
push edx
lea ecx, [ebp - 0x228]
call sub.MFC42.DLL_CString::Right
mov dword [ebp - 0x740], eax
mov eax, dword [ebp - 0x740]
mov dword [ebp - 0x744], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x744]
push ecx
lea edx, [ebp - 0x238]
push edx
call fcn.0041a470
mov byte [ebp - 0x720], al
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x724]
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebp - 0x720]
and eax, 0xff
test eax, eax
je 0x419d62
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
xor edx, dword [ebp - 0x230]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc0], edx
jmp 0x419d7a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc4]
and edx, dword [ebp - 0x230]
mov eax, dword [ebp + 8]
mov dword [eax + 0xc0], edx
mov dword [ebp - 0x25c], 0
jmp 0x419d95
mov ecx, dword [ebp - 0x25c]
add ecx, 1
mov dword [ebp - 0x25c], ecx
cmp dword [ebp - 0x25c], 8
jge 0x419db5
call dword [sym.imp.MSVCRT.dll_rand]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x25c]
mov byte [edx + 0xc8], al
jmp 0x419d86
mov dword [ebp - 0x25c], 0
jmp 0x419dd0
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0x30
jge 0x419df0
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x25c]
mov byte [ecx + 0xd0], al
jmp 0x419dc1
push 0x64
push 0x32
push 0x30
push 0x61
push 0x74
push 0x61
push 0x44
push 0x67
push 0x69
push 0x66
push 0x6e
push 0x6f
push 0x43
push 0x473964
lea edx, [ebp - 0x604]
push edx
call sub.MFC42.DLL_CString::Format_1
add esp, 0x3c
push 3
lea ecx, [ebp - 0x604]
call fcn.00405d30
push eax
lea eax, [ebp - 0x19c]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0x100
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::Write
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x8c], dl
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x8b], dl
movsx eax, byte [ebp - 0x8c]
movsx edx, byte [ebp - 0x8b]
add eax, edx
cdq
sub eax, edx
sar eax, 1
mov byte [ebp - 0x22c], al
mov dword [ebp - 0x25c], 0
jmp 0x419eae
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0xc
jge 0x419edf
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x25c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x22c]
and eax, 0xff
xor edx, eax
mov ecx, dword [ebp - 0x25c]
mov byte [ebp + ecx - 0x8a], dl
jmp 0x419e9f
mov edx, dword [ebp - 0x25c]
mov byte [ebp + edx - 0x8a], 0
lea ecx, [ebp - 0x94]
call sub.MFC42.DLL_CString::CString_1
mov byte [ebp - 4], 9
mov byte [ebp - 0x4e4], 0x48
mov byte [ebp - 0x4e3], 0x61
mov byte [ebp - 0x4e2], 0x72
mov byte [ebp - 0x4e1], 0x64
mov byte [ebp - 0x4e0], 0x77
mov byte [ebp - 0x4df], 0x61
mov byte [ebp - 0x4de], 0x72
mov byte [ebp - 0x4dd], 0x65
mov byte [ebp - 0x4dc], 0x5c
mov byte [ebp - 0x4db], 0x44
mov byte [ebp - 0x4da], 0x65
mov byte [ebp - 0x4d9], 0x73
mov byte [ebp - 0x4d8], 0x63
mov byte [ebp - 0x4d7], 0x72
mov byte [ebp - 0x4d6], 0x69
mov byte [ebp - 0x4d5], 0x70
mov byte [ebp - 0x4d4], 0x74
mov byte [ebp - 0x4d3], 0x69
mov byte [ebp - 0x4d2], 0x6f
mov byte [ebp - 0x4d1], 0x6e
mov byte [ebp - 0x4d0], 0x5c
mov byte [ebp - 0x4cf], 0x53
mov byte [ebp - 0x4ce], 0x79
mov byte [ebp - 0x4cd], 0x73
mov byte [ebp - 0x4cc], 0x74
mov byte [ebp - 0x4cb], 0x65
mov byte [ebp - 0x4ca], 0x6d
mov byte [ebp - 0x4c9], 0x5c
mov byte [ebp - 0x4c8], 0x6d
mov byte [ebp - 0x4c7], 0x75
mov byte [ebp - 0x4c6], 0x6c
mov byte [ebp - 0x4c5], 0x74
mov byte [ebp - 0x4c4], 0x69
mov byte [ebp - 0x4c3], 0x66
mov byte [ebp - 0x4c2], 0x75
mov byte [ebp - 0x4c1], 0x6e
mov byte [ebp - 0x4c0], 0x63
mov byte [ebp - 0x4bf], 0x74
mov byte [ebp - 0x4be], 0x69
mov byte [ebp - 0x4bd], 0x6f
mov byte [ebp - 0x4bc], 0x6e
mov byte [ebp - 0x4bb], 0x41
mov byte [ebp - 0x4ba], 0x64
mov byte [ebp - 0x4b9], 0x61
mov byte [ebp - 0x4b8], 0x70
mov byte [ebp - 0x4b7], 0x74
mov byte [ebp - 0x4b6], 0x65
mov byte [ebp - 0x4b5], 0x72
mov byte [ebp - 0x4b4], 0x5c
mov byte [ebp - 0x4b3], 0x30
mov byte [ebp - 0x4b2], 0
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x94]
call sub.MFC42.DLL_CString::operator_2
lea ecx, [ebp - 0x3e4]
push ecx
push 0xf003f
push 0
lea ecx, [ebp - 0x94]
call fcn.00405d30
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x41a09e
jmp 0x41a0bc
lea edx, [ebp - 0x3e4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00405d30
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
push 0xf
lea eax, [ebp - 0x8c]
push eax
push 3
push 0
lea ecx, [ebp - 0x19c]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov eax, dword [ebp - 0x3e4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x8c], dl
call dword [sym.imp.MSVCRT.dll_rand]
cdq
mov ecx, 0xff
idiv ecx
mov byte [ebp - 0x8b], dl
movsx eax, byte [ebp - 0x8c]
movsx edx, byte [ebp - 0x8b]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov byte [ebp - 0x22c], al
mov dword [ebp - 0x25c], 0
jmp 0x41a148
mov eax, dword [ebp - 0x25c]
add eax, 1
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0xc
jge 0x41a179
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x25c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x22c]
and eax, 0xff
xor edx, eax
mov ecx, dword [ebp - 0x25c]
mov byte [ebp + ecx - 0x8a], dl
jmp 0x41a139
mov edx, dword [ebp - 0x25c]
mov byte [ebp + edx - 0x8a], 0
push 0x64
push 0x32
push 0x30
push 0x50
push 0x45
push 0x4c
push 0x6f
push 0x54
push 0x67
push 0x69
push 0x4d
push 0x473948
lea eax, [ebp - 0x604]
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0x34
push 3
lea ecx, [ebp - 0x604]
call fcn.00405d30
push eax
lea ecx, [ebp - 0x19c]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
mov byte [ebp - 0x4e4], 0x53
mov byte [ebp - 0x4e3], 0x6f
mov byte [ebp - 0x4e2], 0x66
mov byte [ebp - 0x4e1], 0x74
mov byte [ebp - 0x4e0], 0x77
mov byte [ebp - 0x4df], 0x61
mov byte [ebp - 0x4de], 0x72
mov byte [ebp - 0x4dd], 0x65
mov byte [ebp - 0x4dc], 0x5c
mov byte [ebp - 0x4db], 0x4d
mov byte [ebp - 0x4da], 0x69
mov byte [ebp - 0x4d9], 0x63
mov byte [ebp - 0x4d8], 0x72
mov byte [ebp - 0x4d7], 0x6f
mov byte [ebp - 0x4d6], 0x73
mov byte [ebp - 0x4d5], 0x6f
mov byte [ebp - 0x4d4], 0x66
mov byte [ebp - 0x4d3], 0x74
mov byte [ebp - 0x4d2], 0x5c
mov byte [ebp - 0x4d1], 0x6f
mov byte [ebp - 0x4d0], 0x75
mov byte [ebp - 0x4cf], 0x74
mov byte [ebp - 0x4ce], 0x6c
mov byte [ebp - 0x4cd], 0x6f
mov byte [ebp - 0x4cc], 0x6f
mov byte [ebp - 0x4cb], 0x6b
mov byte [ebp - 0x4ca], 0x20
mov byte [ebp - 0x4c9], 0x45
mov byte [ebp - 0x4c8], 0x78
mov byte [ebp - 0x4c7], 0x70
mov byte [ebp - 0x4c6], 0x72
mov byte [ebp - 0x4c5], 0x65
mov byte [ebp - 0x4c4], 0x73
mov byte [ebp - 0x4c3], 0x73
mov byte [ebp - 0x4c2], 0x5c
mov byte [ebp - 0x4c1], 0x35
mov byte [ebp - 0x4c0], 0x2e
mov byte [ebp - 0x4bf], 0x30
mov byte [ebp - 0x4be], 0x5c
mov byte [ebp - 0x4bd], 0x53
mov byte [ebp - 0x4bc], 0x68
mov byte [ebp - 0x4bb], 0x61
mov byte [ebp - 0x4ba], 0x72
mov byte [ebp - 0x4b9], 0x65
mov byte [ebp - 0x4b8], 0x64
mov byte [ebp - 0x4b7], 0x20
mov byte [ebp - 0x4b6], 0x73
mov byte [ebp - 0x4b5], 0x65
mov byte [ebp - 0x4b4], 0x74
mov byte [ebp - 0x4b3], 0x74
mov byte [ebp - 0x4b2], 0x69
mov byte [ebp - 0x4b1], 0x6e
mov byte [ebp - 0x4b0], 0x67
mov byte [ebp - 0x4af], 0x73
mov byte [ebp - 0x4ae], 0x5c
mov byte [ebp - 0x4ad], 0x73
mov byte [ebp - 0x4ac], 0x65
mov byte [ebp - 0x4ab], 0x74
mov byte [ebp - 0x4aa], 0x75
mov byte [ebp - 0x4a9], 0x70
mov byte [ebp - 0x4a8], 0
lea edx, [ebp - 0x4e4]
push edx
lea ecx, [ebp - 0x94]
call sub.MFC42.DLL_CString::operator_2
lea eax, [ebp - 0x3e4]
push eax
push 0xf003f
push 0
lea ecx, [ebp - 0x94]
call fcn.00405d30
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x41a3b7
jmp 0x41a3d5
lea ecx, [ebp - 0x3e4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00405d30
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
push 0xf
lea edx, [ebp - 0x8c]
push edx
push 3
push 0
lea eax, [ebp - 0x19c]
push eax
mov ecx, dword [ebp - 0x3e4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edx, dword [ebp - 0x3e4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x94]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x238]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x248]
call sub.MFC42.DLL_CFile::CFile
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x604]
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x220]
call sub.MFC42.DLL_CString::CString
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x228]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret