Function at 0x103ad8a
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x41c
mov eax, dword [0x1251b5c]
xor eax, dword [ebp + 4]
or dword [ebp - 0x14], 0xffffffff
or dword [ebp - 0x10], 0xffffffff
push ebx
push esi
push edi
mov edi, 0x10045e8
push edi
push 0x100720c
mov dword [ebp - 4], eax
mov esi, 0x1007168
push esi
lea eax, [ebp - 8]
push eax
mov ebx, ecx
call sub.MFC42.DLL_CWinApp::GetProfileStringA
push dword [eax]
lea eax, [ebp - 0x21c]
push 0x10023e4
push 0x100
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
lea ecx, [ebp - 8]
call fcn.0105bcd2
push edi
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103af1d
push 0x1007750
push 0x100720c
push esi
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
lea eax, [ebx + 0xc8]
push eax
push 0x1007114
push esi
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
and dword [ebp - 8], 0
mov edi, 0x107aa32
mov dword [ebp - 0xc], 0xf
cmp dword [edi + 0x56], 0
je 0x103aef7
push edi
push 0x100773c
lea eax, [ebp - 0x11c]
push 0x100
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
push dword [ebp - 8]
lea eax, [ebp - 0x11c]
push 0x1007738
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x3a]
lea eax, [ebp - 0x11c]
push 0x100772c
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x3e]
lea eax, [ebp - 0x11c]
push 0x1007724
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x42]
lea eax, [ebp - 0x11c]
push 0x100771c
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x46]
lea eax, [ebp - 0x11c]
push 0x1007718
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x4a]
lea eax, [ebp - 0x11c]
push 0x1007710
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [edi + 0x4e]
lea eax, [ebp - 0x11c]
push 0x1007708
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
inc dword [ebp - 8]
add edi, 0x8c
dec dword [ebp - 0xc]
jne 0x103ae35
mov edi, 0x1007750
lea eax, [ebp - 0x41c]
push edi
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
pop ecx
pop ecx
jmp 0x103af36
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, 0x1007750
lea eax, [ebp - 0x1c]
push eax
push 8
push 0
push 0x1007028
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x103b170
and dword [ebp - 0xc], eax
push 0x80
lea eax, [ebp - 0x11c]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
test eax, eax
jne 0x103b037
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x31c]
push 0x1007000
push eax
call dword [sym.imp.msvcrt.dll_sprintf]
add esp, 0xc
lea eax, [ebp - 0x18]
push eax
push 8
push 0
lea eax, [ebp - 0x31c]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x103b037
and dword [ebp - 8], eax
push 0x100
lea eax, [ebp - 0x31c]
push eax
push dword [ebp - 8]
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
test eax, eax
jne 0x103afdb
inc dword [ebp - 8]
jmp 0x103afba
push dword [ebp - 0x18]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 8], 0
jle 0x103b02f
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x11c]
push eax
call fcn.0104b150
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103b017
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
push edi
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x103b02f
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
inc dword [ebp - 0xc]
jmp 0x103af59
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x14]
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0xffffffff
jne 0x103b148
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 8]
push edi
mov dword [ebp - 0x10], eax
call fcn.0104b150
push edi
push 0x100720c
push esi
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileStringA
xor edi, edi
mov esi, 0x107aa32
mov dword [ebp - 8], 0xf
cmp dword [esi + 0x56], 0
je 0x103b139
push esi
push 0x100773c
lea eax, [ebp - 0x11c]
push 0x100
push eax
call dword [sym.imp.msvcrt.dll__snprintf]
add esp, 0x10
push edi
push 0x1007738
lea eax, [ebp - 0x11c]
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x3a]
lea eax, [ebp - 0x11c]
push 0x100772c
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x3e]
lea eax, [ebp - 0x11c]
push 0x1007724
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x42]
lea eax, [ebp - 0x11c]
push 0x100771c
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x46]
lea eax, [ebp - 0x11c]
push 0x1007718
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x4a]
lea eax, [ebp - 0x11c]
push 0x1007710
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
push dword [esi + 0x4e]
lea eax, [ebp - 0x11c]
push 0x1007708
push eax
mov ecx, ebx
call sub.MFC42.DLL_CWinApp::WriteProfileInt
inc edi
add esi, 0x8c
dec dword [ebp - 8]
jne 0x103b07b
cmp dword [ebp - 0x14], 0xffffffff
jne 0x103b175
push 0
push 0x30
push 0x10076d4
call fcn.0102e0c1
cmp dword [ebp - 0x10], 0xffffffff
jle 0x103b170
mov ecx, dword [ebp + 8]
push dword [ebp - 0x10]
add ecx, 0x11c
jmp 0x103b19a
xor eax, eax
inc eax
jmp 0x103b1a1
mov esi, dword [ebp + 8]
add esi, 0x11c
mov ecx, esi
call fcn.0101eb23
cmp dword [ebp - 0x14], eax
mov ecx, esi
jge 0x103b191
push dword [ebp - 0x14]
jmp 0x103b19a
call fcn.0101eb23
dec eax
push eax
mov ecx, esi
call fcn.0101eb49
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, dword [ebp + 4]
pop edi
pop esi
pop ebx
call fcn.0105b9a4
leave
ret 4