Function at 0x431d00
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x65440b
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x2130
call fcn.0062f6d0
mov eax, dword [0x750990]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2048], ecx
mov dword [ebp - 0x204c], 0xffffffff
push str.MS::RPI
lea ecx, [ebp - 0x2044]
call fcn.0043f3a0
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x2048]
cmp dword [eax + 0x1c], 0
jne 0x431d92
mov ecx, dword [ebp - 0x204c]
mov dword [ebp - 0x2094], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.0043f460
mov eax, dword [ebp - 0x2094]
jmp 0x43250d
lea ecx, [ebp - 0x20b4]
call fcn.004123f0
mov byte [ebp - 4], 1
mov byte [ebp - 4], 2
mov byte [ebp - 0x2071], 0
lea edx, [ebp - 0x205c]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00434e20
mov byte [ebp - 4], 3
lea eax, [ebp - 0x205c]
push eax
lea ecx, [ebp - 0x2060]
call fcn.00406e10
mov byte [ebp - 4], 4
push 0x689120
lea ecx, [ebp - 0x2060]
call fcn.0040cd90
mov dword [ebp - 0x2078], 0
lea ecx, [ebp - 0x2140]
call fcn.005141db
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call fcn.005141db
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call fcn.005141db
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2078]
push ecx
push 0x20019
push 0
lea ecx, [ebp - 0x2060]
call fcn.0046af70
push eax
push SysReAllocStringLen
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x20b0], eax
cmp dword [ebp - 0x20b0], 0
jne 0x43226d
mov dword [ebp - 0x207c], 0x800
mov dword [ebp - 0x2080], 0x800
mov dword [ebp - 0x2070], 0
push 0x689144
lea ecx, [ebp - 0x2088]
call fcn.00406ed0
mov byte [ebp - 4], 8
push 0
lea edx, [ebp - 0x2080]
push edx
lea eax, [ebp - 0x201c]
push eax
push 0
lea ecx, [ebp - 0x207c]
push ecx
lea edx, [ebp - 0x1018]
push edx
mov eax, dword [ebp - 0x2070]
push eax
mov ecx, dword [ebp - 0x2078]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x432251
lea edx, [ebp - 0x2060]
push edx
lea ecx, [ebp - 0x2064]
call fcn.00406e10
mov byte [ebp - 4], 9
push 0x689150
lea ecx, [ebp - 0x2064]
call fcn.0040cd90
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x2064]
call fcn.0040cd90
lea ecx, [ebp - 0x206c]
push ecx
lea ecx, [ebp - 0x2088]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x2064]
call fcn.0046af70
push eax
push SysReAllocStringLen
call fcn.0040e790
cmp dword [ebp - 0x206c], 0
jb 0x43221a
cmp dword [ebp - 0x206c], 3
jae 0x43221a
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x2084]
call fcn.00406ed0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2084]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x2110], esp
mov edx, dword [ebp - 0x2048]
mov eax, dword [edx + 0x24]
push eax
call fcn.0040c500
mov dword [ebp - 0x20ac], eax
mov ecx, dword [ebp - 0x20ac]
mov dword [ebp - 0x2108], ecx
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x2058]
push edx
mov byte [ebp - 4], 0xa
call fcn.0047ad90
mov dword [ebp - 0x2114], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x2084]
call fcn.004071f0
push 0
lea ecx, [ebp - 0x2058]
call fcn.0040cb80
movzx eax, al
test eax, eax
je 0x431fdb
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x2140]
call fcn.00437aa0
jmp 0x43220b
push ecx
mov ecx, esp
mov dword [ebp - 0x210c], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.0040c560
mov dword [ebp - 0x209c], eax
mov eax, dword [ebp - 0x209c]
mov dword [ebp - 0x20fc], eax
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2048]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edx]
mov byte [ebp - 4], 0xd
mov eax, dword [edx + 0x38]
call eax
mov byte [ebp - 0x2050], al
movzx ecx, byte [ebp - 0x2050]
test ecx, ecx
je 0x43208d
push ecx
mov ecx, esp
mov dword [ebp - 0x20f8], esp
lea edx, [ebp - 0x2058]
push edx
call fcn.0040c560
mov dword [ebp - 0x208c], eax
mov eax, dword [ebp - 0x208c]
mov dword [ebp - 0x2118], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebp - 0x2048]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edx]
mov byte [ebp - 4], 0xd
mov eax, dword [edx + 0x3c]
call eax
mov byte [ebp - 0x204f], al
movzx ecx, byte [ebp - 0x204f]
test ecx, ecx
jne 0x4320e4
lea ecx, [ebp - 0x20f4]
call fcn.0046a320
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1018]
push edx
lea ecx, [ebp - 0x20f4]
call fcn.0046a400
lea ecx, [ebp - 0x205c]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x20f4]
call fcn.0046a460
lea ecx, [ebp - 0x20f4]
call fcn.0046a4a0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20f4]
call fcn.0046a390
jmp 0x43220b
cmp dword [ebp - 0x206c], 0
jne 0x4321f9
cmp dword [ebp + 8], 0
jne 0x4321f7
push 0x689154
push ecx
mov ecx, esp
mov dword [ebp - 0x2104], esp
lea eax, [ebp - 0x2058]
push eax
call fcn.0040c560
mov dword [ebp - 0x2098], eax
mov ecx, dword [ebp - 0x2098]
mov dword [ebp - 0x2100], ecx
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x20a4]
push edx
mov byte [ebp - 4], 0xd
call fcn.00479e80
mov dword [ebp - 0x20a0], eax
mov eax, dword [ebp - 0x20a0]
mov dword [ebp - 0x20a8], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x20a8]
push ecx
call fcn.004075b0
add esp, 8
mov byte [ebp - 0x204d], al
mov dl, byte [ebp - 0x204d]
mov byte [ebp - 0x204e], dl
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20a4]
call fcn.004071f0
movzx eax, byte [ebp - 0x204e]
test eax, eax
je 0x4321f7
lea ecx, [ebp - 0x20e4]
call fcn.0046a320
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20e4]
call fcn.0046a400
lea ecx, [ebp - 0x205c]
call fcn.0046af70
push eax
lea ecx, [ebp - 0x20e4]
call fcn.0046a460
lea ecx, [ebp - 0x20e4]
call fcn.0046a5b0
movzx edx, al
test edx, edx
jne 0x4321e8
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x212c]
call fcn.00437aa0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x20e4]
call fcn.0046a390
jmp 0x43220b
lea ecx, [ebp - 0x1018]
push ecx
lea ecx, [ebp - 0x20c8]
call fcn.00437aa0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2058]
call fcn.00437760
mov edx, dword [ebp - 0x2070]
add edx, 1
mov dword [ebp - 0x2070], edx
mov dword [ebp - 0x207c], 0x800
mov dword [ebp - 0x2080], 0x800
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2064]
call fcn.004071f0
jmp 0x431e89
mov eax, dword [ebp - 0x2078]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2088]
call fcn.004071f0
lea ecx, [ebp - 0x20c8]
call fcn.00437ba0
cmp eax, 1
jne 0x4322a5
mov ecx, dword [ebp + 8]
push ecx
push 0
lea ecx, [ebp - 0x20c8]
call fcn.00437b30
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.004370f0
mov dword [ebp - 0x204c], eax
jmp 0x4323ab
lea ecx, [ebp - 0x20c8]
call fcn.00437ba0
cmp eax, 1
jle 0x4323a1
mov edx, dword [ebp - 0x2048]
cmp dword [edx + 0x2c], 0
je 0x432383
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x20c8]
push ecx
lea edx, [ebp - 0x2054]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00434f70
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x2054]
call fcn.00408240
movzx eax, al
test eax, eax
jne 0x432372
push 0
push 0x689164
lea ecx, [ebp - 0x2054]
call fcn.00407e30
cmp eax, 0xffffffff
jne 0x432331
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2054]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.004370f0
mov dword [ebp - 0x204c], eax
jmp 0x432372
lea ecx, [ebp - 0x2054]
call fcn.0046af70
push eax
mov ecx, dword [ebp - 0x2048]
call fcn.00434ef0
push 0
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x2048]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x2048]
mov eax, dword [edx + 0xd4]
call eax
mov dword [ebp - 0x204c], 0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2054]
call fcn.004071f0
jmp 0x43239f
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x20c8]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00437430
mov dword [ebp - 0x204c], eax
jmp 0x4323ab
mov dword [ebp - 0x204c], 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x212c]
push ecx
mov ecx, dword [ebp - 0x2048]
call fcn.00437430
mov dword [ebp - 0x2068], eax
mov edx, dword [ebp - 0x2068]
push edx
mov eax, dword [ebp - 0x204c]
push eax
call fcn.004374f0
add esp, 8
mov dword [ebp - 0x204c], eax
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 0x2140]
push edx
mov ecx, dword [ebp - 0x2048]
call fcn.00437430
mov dword [ebp - 0x2068], eax
mov eax, dword [ebp - 0x2068]
push eax
mov ecx, dword [ebp - 0x204c]
push ecx
call fcn.004374f0
add esp, 8
mov dword [ebp - 0x204c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x212c]
call fcn.005141f2
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x20c8]
call fcn.005141f2
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x2140]
call fcn.005141f2
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2060]
call fcn.004071f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x205c]
call fcn.004071f0
jmp 0x4324ca
mov dword [ebp - 4], 1
jmp 0x4324da
mov eax, dword [ebp - 0x204c]
mov dword [ebp - 0x2090], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20b4]
call fcn.00412410
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2044]
call fcn.0043f460
mov eax, dword [ebp - 0x2090]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0062dc28
mov esp, ebp
pop ebp
ret 8