Function at 0x40d588
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff5c4
lea eax, [ebp - 0xc]
push eax
push 0x6e9655
push SysReAllocStringLen
call sub.ADVAPI32.DLL_RegOpenKeyA
test eax, eax
jne 0x40e185
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e967c
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d625
push 0
lea edx, [ebp - 0x93c]
push edx
call fcn.0066e7cc
add esp, 8
test eax, eax
jne 0x40d625
lea ecx, [ebp - 0x93c]
push ecx
push 0x822d44
call fcn.0066c9ec
add esp, 8
push 0x822d44
call fcn.0066ca1c
pop ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
movsx edx, byte [eax + 0x822d43]
cmp edx, 0x5c
jne 0x40d625
mov ecx, dword [ebp - 0x3c]
mov byte [ecx + 0x822d43], 0
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e9686
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d667
push 0x6e7140
push 0x6e968f
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9692
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d6a9
push 0x6e73b4
push 0x6e96a2
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e96a5
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d6eb
push 0x6e73b8
push 0x6e96b4
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e96b7
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d72d
push 0x6e7464
push 0x6e96c1
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e96c4
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d76f
push 0x6e70e0
push 0x6e96d1
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e96d4
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d7b1
push 0x6f6ab4
push 0x6e96d8
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e96db
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d7f8
mov al, byte [ebp - 0x93c]
test al, al
je 0x40d7f8
lea edx, [ebp - 0x93c]
push edx
push 0x824603
call fcn.0066c9ec
add esp, 8
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e96e5
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d87c
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x43c]
push eax
call fcn.0066c9ec
add esp, 8
push 0x5c
lea edx, [ebp - 0x43c]
push edx
call fcn.0066cb35
add esp, 8
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x40d87c
push 0x6e96ef
mov eax, dword [ebp - 4]
inc eax
push eax
call fcn.0066cbe8
add esp, 8
test eax, eax
je 0x40d87c
lea edx, [ebp - 0x93c]
push edx
push 0x824707
call fcn.0066c9ec
add esp, 8
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e96fc
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d8c3
mov cl, byte [ebp - 0x93c]
test cl, cl
je 0x40d8c3
lea eax, [ebp - 0x93c]
push eax
push 0x82480b
call fcn.0066c9ec
add esp, 8
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9703
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d905
push 0x6e73e8
push 0x6e9712
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e9715
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d947
push 0x6e737c
push 0x6e971f
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e9722
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d989
push 0x6e739c
push 0x6e972d
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9730
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40d9cb
push 0x6e73d4
push 0x6e973d
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e9740
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40da0d
push 0x6e73d8
push 0x6e974b
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e974e
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40da4f
push 0x6e73dc
push 0x6e9757
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e975a
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40da91
push 0x6e7448
push 0x6e9763
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e9766
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dad3
push 0x6e7458
push 0x6e9771
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e9774
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40db15
push 0x6e745c
push 0x6e9785
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9788
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40db57
push 0x6e73e4
push 0x6e9799
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e979c
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40db99
push 0x80c210
push 0x6e97a4
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e97a7
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dbdb
push 0x80c214
push 0x6e97b2
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e97b5
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dc1d
push 0x6e7468
push 0x6e97c0
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e97c3
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dc5f
push 0x6e746c
push 0x6e97cc
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e97cf
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dca1
push 0x6e7478
push 0x6e97d6
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e97d9
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dce3
push 0x6e7470
push 0x6e97e9
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e97ec
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dd25
push 0x6e7474
push 0x6e97f8
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e97fb
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dd62
push 0x7676ec
lea eax, [ebp - 0x93c]
push eax
call fcn.0049e35c
add esp, 8
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9805
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dd9f
push 0xa19d94
lea edx, [ebp - 0x93c]
push edx
call fcn.0049e530
add esp, 8
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e980c
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dde1
push 0x6e7438
push 0x6e9817
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e981a
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40de23
push 0x6f6924
push 0x6e9829
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e982c
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40de65
push 0x6e70e4
push 0x6e9836
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e9839
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dea7
push 0x6e7394
push 0x6e9845
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e9848
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dee9
push 0x6e7398
push 0x6e9852
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e9855
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40df2b
push 0x6e70fc
push 0x6e9867
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e986a
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40df6d
push 0x6e70f0
push 0x6e9878
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e987b
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dfaf
push 0x6e70f4
push 0x6e9888
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e988b
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40dff1
push 0x76784c
push 0x6e9896
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e9899
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e033
push 0x767848
push 0x6e98a5
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e98a8
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e075
push 0x767854
push 0x6e98b3
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e98b6
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e0b7
push 0x6e73a4
push 0x6e98c3
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x93c]
push eax
lea edx, [ebp - 0x10]
push edx
push 0
push 0x6e98c6
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e0f9
push 0x6e73a8
push 0x6e98d0
lea ecx, [ebp - 0x93c]
push ecx
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x93c]
push edx
lea ecx, [ebp - 0x10]
push ecx
push 0
push 0x6e98d3
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e13b
push 0x6e73ac
push 0x6e98e0
lea eax, [ebp - 0x93c]
push eax
call fcn.00670f10
add esp, 0xc
mov dword [ebp - 0x14], 0x100
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x93c]
push ecx
lea eax, [ebp - 0x10]
push eax
push 0
push 0x6e98e3
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegQueryValueExA
test eax, eax
jne 0x40e17d
push 0x6e761c
push 0x6e98ec
lea edx, [ebp - 0x93c]
push edx
call fcn.00670f10
add esp, 0xc
push dword [ebp - 0xc]
call sub.ADVAPI32.DLL_RegCloseKey
call fcn.0049ede8
mov esp, ebp
pop ebp
ret