Function at 0x102bf54
Capabilities:
Query or enumerate registry value

Disassembly:
cmp eax, edi
je 0x102bfe3
mov ecx, 0x1388
cmp dword [ebp - 0x220], ecx
jg 0x102bfe3
cmp eax, ecx
jle 0x102bfeb
jmp 0x102bfe3
push 0x258
mov eax, 0x107c7e0
call fcn.010020dc
push 9
mov ebx, ecx
call sub.MFC42u.dll_CWinApp::LoadStdProfileSettings
xor edi, edi
push edi
push str.NoStretching
mov esi, str.View
push esi
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
xor ecx, ecx
cmp eax, edi
sete cl
push edi
push str.ShowThumbnail
push esi
mov dword [0x108a1d0], ecx
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ShowAllFiles
push esi
mov ecx, ebx
mov dword [ebx + 0x220], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.BMPWidth
push esi
mov ecx, ebx
mov dword [0x108a258], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.BMPHeight
push esi
mov ecx, ebx
mov dword [ebp - 0x220], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
cmp dword [ebp - 0x220], edi
jne 0x1012edf
mov dword [ebp - 0x220], edi
xor eax, eax
mov ecx, dword [ebp - 0x220]
mov dword [ebx + 0x2f0], eax
lea eax, [ebp - 0x218]
push eax
push 0x104
push esi
mov dword [ebx + 0x2ec], ecx
call fcn.010149ed
test al, al
je 0x102c10e
lea eax, [ebp - 0x228]
push eax
push 0x20019
push edi
lea eax, [ebp - 0x218]
push eax
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x102c10e
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x1c
mov dword [ebp - 0x220], 3
mov dword [ebp - 0x22c], 0x2c
call edi
push 0x1d
mov dword [ebp - 0x224], eax
call edi
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x22c]
push ecx
lea eax, [ebx + 0x2c0]
push eax
lea eax, [ebp - 0x220]
push eax
push 0
push str.WindowPlacement
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
xor ecx, ecx
cmp eax, ecx
jne 0x103d5ef
cmp dword [ebp - 0x220], 3
jne 0x103d5ef
cmp dword [ebp - 0x22c], 0x2c
jne 0x103d5ef
mov eax, dword [ebx + 0x2e4]
sub eax, dword [ebx + 0x2dc]
cmp eax, dword [ebp - 0x224]
jl 0x103d5ef
mov eax, dword [ebx + 0x2e8]
sub eax, dword [ebx + 0x2e0]
cmp eax, dword [ebp - 0x21c]
jl 0x103d5ef
cmp dword [ebp - 0x224], ecx
je 0x103d5ef
cmp dword [ebp - 0x21c], ecx
je 0x103d5ef
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
push edi
push str.ThumbXPos
push esi
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ThumbYPos
push esi
mov ecx, ebx
mov dword [ebp - 0x220], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ThumbWidth
push esi
mov ecx, ebx
mov dword [ebp - 0x21c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ThumbHeight
push esi
mov ecx, ebx
mov dword [ebp - 0x238], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
cmp dword [ebp - 0x220], edi
jne 0x10431ee
push edi
push str.UnitSetting
push esi
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ShowRulers
push esi
mov ecx, ebx
mov dword [ebx + 0x270], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push edi
push str.ShowGrid
push esi
mov ecx, ebx
mov dword [ebx + 0x26c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 1
push str.ShowStatusBar
push esi
mov ecx, ebx
mov dword [ebx + 0x22c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 1
push str.ShowTextTool
mov edi, str.Text
push edi
mov ecx, ebx
mov dword [ebx + 0x21c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0xb
push str.PointSize
push edi
mov ecx, ebx
mov dword [ebx + 0x224], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.Bold
push edi
mov ecx, ebx
mov dword [ebx + 0x2f4], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.Underline
push edi
mov ecx, ebx
mov dword [ebx + 0x300], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.Italic
push edi
mov ecx, ebx
mov dword [ebx + 0x304], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.Strikeout
push edi
mov ecx, ebx
mov dword [ebx + 0x308], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.PositionX
push edi
mov ecx, ebx
mov dword [ebx + 0x30c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.PositionY
push edi
mov ecx, ebx
mov dword [ebx + 0x2f8], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0x100219c
push str.TypeFaceName
mov dword [ebx + 0x2fc], eax
push edi
lea eax, [ebp - 0x238]
push eax
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileStringW
and dword [ebp - 4], 0
push eax
lea ecx, [ebx + 0x314]
call fcn.0102e8fd
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.010027d6
push 0xffffffffffffffff
push str.CharSet
push edi
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
mov dword [ebx + 0x318], eax
cmp eax, 0xffffffff
je 0x103d6c0
push 0
push str.TextPen
push edi
mov ecx, ebx
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0
push str.SnapToGrid
push esi
mov ecx, ebx
mov dword [ebx + 0x310], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 1
push str.GridExtent
push esi
mov ecx, ebx
mov dword [ebx + 0x31c], eax
call sub.MFC42u.dll_CWinApp::GetProfileIntW
push 0x20019
mov ecx, ebx
mov dword [ebx + 0x320], eax
call fcn.01014945
mov esi, eax
test esi, esi
je 0x102c31c
push esi
lea ecx, [ebx + 0x3f8]
call fcn.0102beae
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.01002119
ret
push 0x2c
push ecx
lea eax, [ebx + 0x2c0]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0
call edi
mov dword [ebp - 0x21c], eax
fild dword [ebp - 0x21c]
fmul qword [0x103d6b8]
call sub.msvcrt.dll__ftol2_sse
push 1
mov dword [ebp - 0x224], eax
call edi
mov dword [ebp - 0x21c], eax
fild dword [ebp - 0x21c]
fmul qword [0x103d6b8]
call sub.msvcrt.dll__ftol2_sse
push 0
mov dword [ebp - 0x238], eax
call edi
mov dword [ebp - 0x21c], eax
fild dword [ebp - 0x21c]
fmul qword [0x103d6b0]
call sub.msvcrt.dll__ftol2_sse
push 1
mov dword [ebx + 0x2dc], eax
call edi
mov dword [ebp - 0x21c], eax
fild dword [ebp - 0x21c]
fmul qword [0x103d6b0]
call sub.msvcrt.dll__ftol2_sse
mov ecx, dword [ebx + 0x2dc]
add ecx, dword [ebp - 0x224]
mov dword [ebx + 0x2e0], eax
mov dword [ebx + 0x2e4], ecx
mov ecx, dword [ebp - 0x238]
add eax, ecx
mov dword [ebx + 0x2e8], eax
jmp 0x102c100
push 2
lea eax, [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.GDI32.dll_TranslateCharsetInfo]
test eax, eax
je 0x1043271
mov eax, dword [ebp - 0x264]
mov dword [ebx + 0x318], eax
jmp 0x102c2b8
cmp dword [ebp - 0x21c], edi
je 0x102c164
mov ecx, dword [ebp - 0x238]
cmp ecx, edi
je 0x102c164
cmp eax, edi
je 0x102c164
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x21c]
lea eax, [ebp - 0x23c]
push dword [ebp - 0x220]
mov dword [ebp - 0x234], ecx
push eax
mov ecx, ebx
call fcn.01055f1c
push dword [ebp - 0x230]
lea ecx, [ebp - 0x244]
push dword [ebp - 0x234]
push dword [eax + 4]
push dword [eax]
call fcn.0100ca63
lea edi, [ebx + 0x284]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, str.View
xor edi, edi
jmp 0x102c164
and dword [ebp - 0x264], eax
jmp 0x103d6de