Function at 0x407130
Capabilities:
Query or enumerate registry value

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x108
mov eax, dword [ecx]
mov dword [ebp - 0xec], eax
mov eax, dword [ecx + 4]
mov edx, dword [eax + 4]
test edx, edx
je 0x407199
mov edx, dword [edx + 8]
lea ebx, [ebp - 0xbe]
mov dword [ebp - 0xe0], 0
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp + 0x10], edx
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 8], str.Control_PanelAppearanceClassicSchemes
mov dword [esp + 4], 0x4114f4
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call edi
cmp eax, 0x2a
jg 0x4071b0
lea esp, [ebp - 0x10]
xor ebx, ebx
pop ecx
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
lea eax, [ebp - 0xe0]
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], eax
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
sub esp, 0x14
test eax, eax
jne 0x407199
mov dword [ebp - 0xf0], eax
xor ebx, ebx
jmp 0x40721c
lea edx, [ebx + ebx*2]
mov dword [edx*4 + 0x410028], eax
mov dword [esp + 4], ebx
add ebx, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xec]
mov dword [esp], eax
call fcn.00407040
cmp ebx, 0xa
je 0x4072e0
lea eax, [ebp - 0xce]
mov esi, dword [ebp - 0xe0]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Size_d
mov dword [esp], eax
call edi
cmp eax, 4
jle 0x4072c6
mov dword [ebp - 0xd4], 4
lea eax, [ebp - 0xd4]
mov dword [esp + 0x14], eax
lea eax, [ebp - 0xd8]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xdc]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xce]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
sub esp, 0x18
test eax, eax
jne 0x4072c6
cmp dword [ebp - 0xdc], 4
jne 0x4072c6
mov edx, dword [0x41600c]
mov eax, dword [ebp - 0xd8]
cmp edx, 0x60
je 0x4072be
mov dword [esp + 8], 0x60
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
sub esp, 0xc
test eax, eax
jns 0x4071f0
mov dword [esp + 4], ebx
mov dword [esp], 0x4160a0
call fcn.00406d80
jmp 0x4071f0
mov esi, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], edi
mov ebx, 1
lea esi, [esi]
lea eax, [ebp - 0xce]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Font_d
mov dword [esp], eax
mov eax, dword [ebp - 0xf0]
call eax
cmp eax, 4
jg 0x407338
cmp esi, 5
ja case.0x407323.0
jmp dword [esi*4 + 0x411524]
mov esi, 5
lea esi, [esi]
mov eax, dword [ebp - 0xec]
mov ecx, esi
lea edx, [ebp - 0xce]
add esi, 1
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
call fcn.00406880
and ebx, eax
cmp esi, 6
jne 0x4072f8
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
sub esp, 4
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
mov edi, dword [ebp - 0xec]
lea eax, [ebp - 0xce]
movdqu xmm0, xmmword [0x41611c]
movups xmmword [edi + 0x7c], xmm0
movdqu xmm1, xmmword [0x41612c]
movups xmmword [edi + 0x8c], xmm1
movdqu xmm2, xmmword [0x41613c]
movups xmmword [edi + 0x9c], xmm2
movdqu xmm3, xmmword [0x41614c]
movups xmmword [edi + 0xac], xmm3
movdqu xmm4, xmmword [0x41615c]
movups xmmword [edi + 0xbc], xmm4
movdqu xmm5, xmmword [0x416168]
movups xmmword [edi + 0xc8], xmm5
mov dword [esp + 8], 2
mov dword [esp + 4], str.Font_d
mov dword [esp], eax
mov eax, dword [ebp - 0xf0]
call eax
cmp eax, 4
jg 0x407610
mov edi, dword [ebp - 0xec]
lea eax, [ebp - 0xce]
movdqu xmm6, xmmword [0x416180]
movups xmmword [edi + 0xe0], xmm6
movdqu xmm7, xmmword [0x416190]
movups xmmword [edi + 0xf0], xmm7
movdqu xmm0, xmmword [0x4161a0]
movups xmmword [edi + 0x100], xmm0
movdqu xmm1, xmmword [0x4161b0]
movups xmmword [edi + 0x110], xmm1
movdqu xmm2, xmmword [0x4161c0]
movups xmmword [edi + 0x120], xmm2
movdqu xmm3, xmmword [0x4161cc]
movups xmmword [edi + 0x12c], xmm3
mov dword [esp + 8], 3
mov dword [esp + 4], str.Font_d
mov dword [esp], eax
mov eax, dword [ebp - 0xf0]
call eax
cmp eax, 4
jg 0x407630
mov edi, dword [ebp - 0xec]
lea eax, [ebp - 0xce]
movdqu xmm4, xmmword [0x4161dc]
movups xmmword [edi + 0x13c], xmm4
movdqu xmm5, xmmword [0x4161ec]
movups xmmword [edi + 0x14c], xmm5
movdqu xmm6, xmmword [0x4161fc]
movups xmmword [edi + 0x15c], xmm6
movdqu xmm7, xmmword [0x41620c]
movups xmmword [edi + 0x16c], xmm7
movdqu xmm0, xmmword [0x41621c]
movups xmmword [edi + 0x17c], xmm0
movdqu xmm1, xmmword [0x416228]
movups xmmword [edi + 0x188], xmm1
mov dword [esp + 8], 4
mov dword [esp + 4], str.Font_d
mov dword [esp], eax
mov eax, dword [ebp - 0xf0]
call eax
cmp eax, 4
jg 0x407620
mov ecx, dword [ebp - 0xec]
lea eax, [ebp - 0xce]
movdqu xmm2, xmmword [0x416238]
movups xmmword [ecx + 0x198], xmm2
movdqu xmm3, xmmword [0x416248]
movups xmmword [ecx + 0x1a8], xmm3
movdqu xmm4, xmmword [0x416258]
movups xmmword [ecx + 0x1b8], xmm4
movdqu xmm5, xmmword [0x416268]
movups xmmword [ecx + 0x1c8], xmm5
movdqu xmm6, xmmword [0x416278]
movups xmmword [ecx + 0x1d8], xmm6
movdqu xmm7, xmmword [0x416284]
movups xmmword [ecx + 0x1e4], xmm7
mov dword [esp + 8], 5
mov dword [esp + 4], str.Font_d
mov dword [esp], eax
mov eax, dword [ebp - 0xf0]
call eax
cmp eax, 4
jg 0x407330
movdqu xmm0, xmmword [0x416298]
mov edi, dword [ebp - 0xec]
movups xmmword [edi + 0x1f8], xmm0
movdqu xmm1, xmmword [0x4162a8]
movups xmmword [edi + 0x208], xmm1
movdqu xmm2, xmmword [0x4162b8]
movups xmmword [edi + 0x218], xmm2
movdqu xmm3, xmmword [0x4162c8]
movups xmmword [edi + 0x228], xmm3
movdqu xmm4, xmmword [0x4162d8]
movups xmmword [edi + 0x238], xmm4
movdqu xmm5, xmmword [0x4162e4]
movups xmmword [edi + 0x244], xmm5
jmp 0x40735e
mov esi, 2
jmp 0x407338
mov esi, 4
jmp 0x407338
mov esi, 3
jmp 0x407338
mov eax, dword [ebp - 0xec]
mov esi, 0x4160b8
mov ecx, 0x17
add eax, 0x18
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, 1
jmp 0x4072f8