Function at 0xb57f60
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x294
mov eax, dword [0xd08954]
xor eax, esp
mov dword [esp + 0x290], eax
mov edx, dword [ebp + 8]
xor eax, eax
push ebx
mov ebx, ecx
mov dword [esp + 4], edx
mov ecx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x14], ecx
cmp dword [ebx + 0x60], eax
je 0xb580e9
cmp dword [ebx + 0x40], eax
je 0xb580e9
cmp dword [ebx + 0x50], eax
je 0xb580e9
cmp edi, 0x406
ja 0xb58093
je 0xbe0599
cmp edi, 0x84
ja 0xb57ff5
je 0xbe04ec
cmp edi, 0x14
ja 0xb580b4
jne 0xb5814a
cmp dword [ebx + 0x10c], eax
je 0xbe04c9
xor eax, eax
inc eax
jmp 0xb5807c
mov eax, 0x31a
cmp edi, eax
ja 0xb58188
je 0xb582a4
mov eax, edi
sub eax, 0x100
je 0xbe0525
sub eax, 0x11
je 0xbe0500
dec eax
sub eax, 1
je 0xb58498
sub eax, 0x105
je 0xb5836e
sub eax, 0x100
jne case.default.0xb5811b
xor edi, edi
and dword [esp + 0xc], edi
and dword [esp + 0x18], edi
test ecx, ecx
je 0xb581c5
lea eax, [esp + 0x28]
mov esi, ecx
push eax
push ecx
call dword [sym.imp.GDI32.dll_GetClipBox]
test esi, esi
je 0xb5806e
push 0
push esi
push dword [ebx + 4]
call dword [sym.imp.UxTheme.dll_DrawThemeParentBackground]
mov esi, dword [esp + 0x14]
test esi, esi
je 0xb5823f
xor eax, eax
mov ecx, dword [esp + 0x29c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00bc0ea0
mov esp, ebp
pop ebp
ret 0x10
mov eax, 0x453
cmp edi, eax
jbe 0xb5810a
mov eax, edi
sub eax, 0x464
jne 0xb58461
push esi
push ecx
mov ecx, ebx
call fcn.00b59ca0
jmp 0xb5807c
mov eax, edi
sub eax, 0x1a
je 0xb5836e
sub eax, 4
je 0xb5836e
sub eax, 0x29
je 0xb58355
sub eax, 1
je 0xb5836e
sub eax, 6
jne case.default.0xb5811b
push esi
mov ecx, ebx
call fcn.00b588f3
jmp 0xb5807c
cmp edi, 1
je 0xb57fb2
cmp edi, 2
je 0xb57fb2
push esi
push ecx
push edi
push edx
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_DefWindowProcW]
jmp 0xb5807c
je 0xbe076b
lea eax, [edi - 0x407]
cmp eax, 0x12
ja case.default.0xb5811b
jmp dword [eax*4 + 0xb58580]
sub ecx, 5
je 0xb5850f
sub ecx, 4
jne 0xb584ca
neg esi
sbb esi, esi
and esi, 5
push esi
push dword [ebx + 0x24]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_ShowWindow]
jmp case.0xb5811b.1031
mov eax, edi
sub eax, 1
je 0xb58481
sub eax, 1
je 0xbe04bd
sub eax, 3
je 0xb58341
dec eax
sub eax, 1
je 0xbe03e4
sub eax, 4
je 0xbe03d7
sub eax, 4
je 0xb5803e
jmp case.default.0xb5811b
mov eax, edi
sub eax, 0x401
jne 0xb58396
cmp dword [ebx + 0xcc], eax
jne case.0xb5811b.1031
mov ecx, dword [ebx + 0xd4]
test ecx, ecx
je case.0xb5811b.1031
mov eax, dword [ecx]
mov esi, dword [eax + 0x18]
cmp esi, 0xb84740
je case.0xb5811b.1031
jmp 0xbe0589
lea eax, [esp + 0x20]
push eax
push dword [ebx + 0x1c]
call dword [sym.imp.ext_ms_win_ntuser_draw_l1_1_0.dll_BeginPaint]
cmp dword [ebx + 0xc4], edi
je 0xb58385
push dword [esp + 0x20]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edi, eax
test edi, edi
je 0xb58291
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x2c]
push ecx
push dword [esp + 0x28]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [esp + 0xc], eax
test eax, eax
je 0xbe04f4
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
push dword [esp + 0x30]
mov dword [esp + 0x20], eax
push dword [esp + 0x30]
push edi
call dword [sym.imp.GDI32.dll_OffsetWindowOrgEx]
mov esi, edi
jmp 0xb5805e
test edi, edi
je 0xb58291
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x2c]
push 0xcc0020
push dword [esp + 0x30]
push dword [esp + 0x30]
push edi
push eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x3c]
push eax
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [esp + 0x40]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esp + 0x18]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
lea eax, [esp + 0x20]
push eax
push dword [ebx + 0x1c]
call dword [sym.imp.ext_ms_win_ntuser_draw_l1_1_0.dll_EndPaint]
jmp case.0xb5811b.1031
mov ecx, ebx
call fcn.00b57aa4
jmp case.0xb5811b.1031
push esi
mov ecx, ebx
call fcn.00b57b9f
push esi
push 0
push 0x40d
push dword [ebx + 0x2c]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SendMessageW]
jmp case.0xb5811b.1031
push ecx
mov ecx, dword [ebx + 0xe8]
call fcn.00b5772e
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xf0]
push esi
call fcn.00b5772e
mov ecx, dword [ebx + 0xec]
push esi
call fcn.00b5772e
mov ecx, dword [ebx + 0x28]
push esi
call fcn.00b5772e
mov ecx, dword [ebx + 0xf4]
push esi
call fcn.00b5772e
mov ecx, dword [ebx + 0xe0]
push esi
call fcn.00b5772e
mov ecx, dword [ebx + 0x28]
mov eax, esi
and eax, 3
cmp al, 3
je 0xbe0607
call fcn.00b578cb
test al, al
je case.0xb5811b.1031
mov ecx, dword [ebx + 0x28]
call fcn.00b601e2
jmp case.0xb5811b.1031
push dword [ebx + 0xbc]
mov ecx, ebx
push 1
call fcn.00ba33d6
jmp case.0xb5811b.1031
mov eax, dword [ebx + 0xf8]
cmp byte [eax + 0x2c], 0
jne 0xbe04d6
push esi
push ecx
push 0x47
jmp 0xb580fe
push esi
push ecx
push edi
mov ecx, ebx
call fcn.00b587a7
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
jmp case.default.0xb5811b
mov dword [ebx + 0xc8], 1
xor esi, esi
jmp 0xb5805e
sub eax, 1
je 0xbe0571
sub eax, 1
jne 0xb584a5
cmp dword [ebx + 0xcc], eax
jne case.0xb5811b.1031
lea ecx, [ebx + 0x40]
call fcn.00ba4c40
test eax, eax
jne 0xbe0562
mov ecx, ebx
call fcn.00ba3dcb
xor ecx, ecx
mov dword [esp + 0x14], 4
push ecx
push ecx
push ecx
lea eax, [esp + 0x20]
mov dword [esp + 0x18], ecx
push eax
lea eax, [esp + 0x1c]
push eax
push ecx
push 0xb2ab00
push 0xb2a718
call dword [sym.imp.api_ms_win_core_registryuserspecific_l1_1_0.dll_SHRegGetUSValueW]
cmp dword [esp + 0xc], 0
jne case.0xb5811b.1031
xor esi, esi
push esi
mov ecx, ebx
call fcn.00ba4b4c
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0xb58422
lea edx, [ebx + 0x88]
push edx
push ecx
push eax
push ecx
call fcn.00ba061c
inc esi
cmp esi, 3
jl 0xb58404
push 0
push ebx
push fcn.00bbfab0
push 1
lea ecx, [ebx + 0x88]
call fcn.00ba12e1
jmp case.0xb5811b.1031
movzx eax, byte [ebx + 0x154]
test ecx, ecx
setne byte [esp + 0xc]
push dword [esp + 0xc]
push eax
mov ecx, ebx
call fcn.00ba3200
jmp case.0xb5811b.1031
sub eax, 0x154
je 0xb58574
sub eax, 0xf
jne case.default.0xb5811b
mov ecx, ebx
call fcn.00ba44cd
jmp case.0xb5811b.1031
push edx
mov ecx, ebx
call fcn.00ba34b7
xor ecx, ecx
test eax, eax
setns cl
lea eax, [ecx - 1]
jmp 0xb5807c
push ecx
mov ecx, ebx
call fcn.00ba3393
jmp case.0xb5811b.1031
sub eax, 1
je 0xbe0533
sub eax, 1
jne case.default.0xb5811b
and dword [ebx + 0x150], eax
jmp case.0xb5811b.1031
mov eax, dword [ebx + 0x24]
jmp 0xb5807c
sub ecx, 1
jne case.0xb5811b.1031
mov edi, dword [ebx + 0x28]
push esi
mov eax, dword [edi]
mov eax, dword [eax + 0x68]
mov dword [esp + 0x10], eax
cmp eax, fcn.00b56d60
jne 0xbe05f4
mov ecx, edi
call fcn.00b56d60
mov ecx, dword [ebx + 0x28]
test esi, esi
je 0xbe0607
call fcn.00ba771d
test al, al
je 0xb58337
jmp case.0xb5811b.1031
mov ecx, dword [ebx + 0xe0]
call fcn.00b57839
jmp case.0xb5811b.1031
mov ecx, ebx
call fcn.00ba2fa8
test eax, eax
jns case.0xb5811b.1031
jmp 0xbe065f
mov edx, dword [ebx + 0xd4]
test edx, edx
je case.0xb5811b.1031
test ecx, ecx
je 0xbe068b
cmp dword [ebx + 0xcc], 0
jne case.0xb5811b.1031
mov eax, dword [edx]
push 1
push edx
mov esi, dword [eax + 0x10]
cmp esi, fcn.00b84750
jne 0xbe0693
call fcn.00b84750
jmp case.0xb5811b.1031
mov ecx, ebx
call fcn.00ba2e7b
jmp case.0xb5811b.1031
push ecx
mov ecx, ebx
call fcn.00ba329a
jmp 0xb5807c
xor eax, eax
cmp dword [ebx + 0x15c], eax
je 0xbe03f9
mov dword [ebx + 0x15c], eax
jmp case.0xb5811b.1031
cmp dword [ebx + 0xcc], eax
je 0xbe041c
mov eax, dword [ebx + 0x28]
cmp byte [eax + 0x44], 0
je case.0xb5811b.1031
push dword [eax + 4]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_SetFocus]
jmp case.0xb5811b.1031
mov ecx, dword [ebx + 0xd4]
test ecx, ecx
je 0xbe04ad
mov esi, 0xb28b08
lea edi, [esp + 0x70]
lea edx, [esp + 0x70]
push edx
push ecx
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 dword [esp + 0x88], eax
mov dword [esp + 0x294], eax
mov dword [esp + 0x29c], eax
mov dword [esp + 0x298], 3
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0xd0cffc]
call esi
test eax, eax
js 0xbe04ad
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [ebx + 0x30]
call fcn.00c43ec1
mov edi, eax
cmp edi, 0xffffffff
je 0xbe04ad
mov esi, dword [esp + 0x18]
test esi, esi
je 0xbe04ad
push edi
push esi
mov ecx, ebx
call fcn.00c4866e
test eax, eax
je 0xbe04ad
push 0
push edi
mov ecx, esi
call fcn.00c4449c
jmp case.0xb5811b.1031
push 1
push 0xd
mov ecx, ebx
call fcn.00c480ee
jmp case.0xb5811b.1031
mov ecx, ebx
call fcn.00c472fe
jmp 0xb5807c
push ecx
mov ecx, ebx
call fcn.00c1c71d
jmp case.0xb5811b.1031
push 0
mov ecx, eax
call fcn.00c3cebe
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
jmp 0xb58365
or eax, 0xffffffff
jmp 0xb5807c
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0xb5838f
cmp dword [ebx + 0xcc], 0
jne case.0xb5811b.1031
mov eax, ecx
shr eax, 0x10
push eax
push esi
movzx eax, cx
push eax
push ecx
mov ecx, ebx
call fcn.00c4894c
jmp case.0xb5811b.1031
push ecx
push ecx
mov ecx, ebx
call fcn.00c4921e
jmp 0xb5807c
test esi, esi
je case.0xb5811b.1031
push 0
push esi
push ecx
mov ecx, ebx
call fcn.00b5a1b2
mov ecx, esi
call fcn.00b83a18
push esi
push 0
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_GetProcessHeap]
push eax
call dword [sym.imp.api_ms_win_core_heap_l1_1_0.dll_HeapFree]
jmp case.0xb5811b.1031
push 0xd0a33c
call fcn.00b8f5e0
jmp case.0xb5811b.1031
movzx eax, byte [ebx + 0x155]
test ecx, ecx
push eax
setne byte [esp + 0x10]
push dword [esp + 0x10]
jmp 0xb58455
push ecx
mov ecx, esi
call dword [0xd0cffc]
call esi
jmp case.0xb5811b.1031
cmp ecx, 1
mov ecx, dword [ebx + 0xd4]
sete al
mov byte [esp + 0x13], al
test ecx, ecx
je 0xbe05de
test al, al
je 0xbe05c7
cmp dword [ebx + 0xcc], 0
jne 0xbe05c7
cmp dword [ebx + 0xdc], 0
je 0xbe05c7
mov dl, 1
jmp 0xbe05c9
xor dl, dl
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0xd0cffc]
call esi
mov al, byte [esp + 0x13]
movzx eax, al
mov dword [ebx + 0xdc], eax
jmp case.0xb5811b.1031
mov eax, dword [ebx + 0x2c]
jmp 0xb5807c
mov ecx, eax
call dword [0xd0cffc]
mov ecx, edi
call dword [esp + 0x10]
jmp 0xb584f2
call fcn.00c23cd2
jmp case.0xb5811b.1031
movsx edi, si
shr esi, 0x10
movsx esi, si
cmp ecx, 0xa
jne case.0xb5811b.1031
lea eax, [esp + 0x60]
push eax
mov eax, dword [ebx + 0x28]
push dword [eax + 4]
call dword [sym.imp.ext_ms_win_rtcore_ntuser_window_ext_l1_1_0.dll_GetWindowRect]
push esi
push edi
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.api_ms_win_ntuser_rectangle_l1_1_0.dll_PtInRect]
jmp 0xb5807c
push ecx
push 3
lea ecx, [ebx + 0x50]
call fcn.00b560d1
xor ecx, ecx
test eax, eax
setg cl
mov eax, ecx
jmp 0xb5807c
mov edx, 0x18b3
jmp 0xbe066b
mov edx, 0x193c
mov ecx, dword [ebp + 4]
push eax
push 0xb2f9e8
call fcn.00b913f8
jmp case.0xb5811b.1031
push ecx
mov ecx, ebx
call fcn.00c495c9
jmp case.0xb5811b.1031
mov eax, dword [edx]
push 0
push edx
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0xd0cffc]
call esi
jmp case.0xb5811b.1031
cmp dword [ebx + 0xcc], 0
jne case.0xb5811b.1031
mov edi, dword [ebx + 0xe0]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0xd0cffc]
mov ecx, edi
call esi
test al, al
je case.0xb5811b.1031
mov ecx, dword [ebx + 0xe0]
push 0
call fcn.00c596e4
test eax, eax
jns case.0xb5811b.1031
jmp 0xbe0666
cmp dword [ebx + 0xcc], 0
jne case.0xb5811b.1031
mov edi, dword [ebx + 0xec]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0xd0cffc]
mov ecx, edi
call esi
test al, al
je case.0xb5811b.1031
and dword [esp + 0x1c], 0
push ecx
call fcn.00baacbc
jmp case.0xb5811b.1031
push ecx
mov ecx, ebx
call fcn.00c49111
jmp case.0xb5811b.1031
push 1
mov ecx, ebx
call fcn.00c46961
jmp case.0xb5811b.1031
push ecx
mov ecx, ebx
call fcn.00c4908e
jmp case.0xb5811b.1031
push ecx
mov ecx, ebx
call fcn.00c4919b
jmp case.0xb5811b.1031
push 1
mov ecx, ebx
call fcn.00ba449b
mov ecx, ebx
call fcn.00ba435d
jmp case.0xb5811b.1031
lea ecx, [ebx + 0x10]
call fcn.00c463f0
jmp case.0xb5811b.1031