Function at 0x43ccf2
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0x12
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x43ccf8
call fcn.00487690
push dword [esp + 0x5c]
call fcn.004426d0
mov edx, dword [esp + 0x50]
lea ecx, [esp]
call fcn.00442000
mov edx, dword [esp + 0x54]
lea ecx, [esp + 4]
call fcn.00442000
mov edx, dword [esp + 0x58]
lea ecx, [esp + 8]
call fcn.00442000
push dword [esp]
call fcn.0043e42f
push dword [esp + 8]
mov edx, 0x55b38e
pop ecx
call fcn.00442660
je 0x43cda5
cmp dword [0xa62c2c], 0
je 0x43cd89
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0xa62c44]
or ebx, 0xf003f
push ebx
push 0
push dword [0xa62c0c]
push dword [0xa62c28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x43cda3
lea eax, [esp + 0x10]
push eax
push dword [0xa62c0c]
push dword [0xa62c28]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
jmp 0x43ce0a
lea eax, [esp + 0x18]
push eax
push dword [0xa62c28]
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegConnectRegistryW
mov dword [esp + 0x14], eax
cmp dword [0xa62c2c], 0
je 0x43cdf2
lea eax, [esp + 0x10]
push eax
mov ebx, dword [0xa62c44]
or ebx, 0xf003f
push ebx
push 0
push dword [0xa62c0c]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov dword [esp + 0xc], eax
jmp 0x43ce0a
lea eax, [esp + 0x10]
push eax
push dword [0xa62c0c]
push dword [esp + 0x20]
call sub.ADVAPI32.dll_RegOpenKeyW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x43d0e4
mov dword [esp + 0x1c], 0x400
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.004874f0
pop edx
push eax
push dword [esp + 0x24]
call fcn.00484bf0
lea eax, [esp + 0x24]
push eax
call fcn.00487590
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push eax
lea eax, [esp + 0x2c]
push eax
push 0
push dword [esp + 0x14]
push dword [esp + 0x24]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0xc]
and ebx, ebx
jne 0x43d0e4
push dword [esp + 0x24]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x43ceeb
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x43ced8
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.004874f0
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.00485c10
lea eax, [esp + 0x30]
push eax
call fcn.00487590
jmp 0x43cee6
mov edx, 0x55a098
lea ecx, [esp + 0x2c]
call fcn.00442008
jmp 0x43d0e3
mov ebx, 2
cmp ebx, dword [esp]
jne 0x43cf60
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x43cf4d
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.004874f0
pop edx
push eax
mov ebx, dword [esp + 0x28]
dec ebx
push ebx
push dword [esp + 0x30]
call fcn.00485c10
lea eax, [esp + 0x30]
push eax
call fcn.00487590
jmp 0x43cf5b
mov edx, 0x55a098
lea ecx, [esp + 0x2c]
call fcn.00442008
jmp 0x43d0e3
mov ebx, 4
cmp ebx, dword [esp]
jne 0x43cfd2
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x43cfbf
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.004874f0
pop edx
push eax
mov eax, dword [esp + 0x3c]
cdq
push edx
push eax
call fcn.00484fe0
lea eax, [esp + 0x30]
push eax
call fcn.00487590
jmp 0x43cfcd
mov edx, 0x55b452
lea ecx, [esp + 0x2c]
call fcn.00442008
jmp 0x43d0e3
mov ebx, 3
cmp ebx, dword [esp]
jne 0x43d0e3
mov dword [esp + 0x38], 0x400
push dword [esp + 0x38]
call fcn.00486310
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x48]
push eax
push 0
push dword [esp + 0x18]
push dword [esp + 0x28]
call sub.ADVAPI32.dll_RegQueryValueExW
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x10]
and ebx, ebx
jne 0x43d0e3
mov edx, 0x55a098
lea ecx, [esp + 0x2c]
call fcn.00442008
mov dword [esp + 0x44], 0
jmp 0x43d03d
mov ebx, dword [esp + 0x38]
dec ebx
cmp ebx, dword [esp + 0x44]
jl 0x43d0da
mov ebx, dword [esp + 0x3c]
add ebx, dword [esp + 0x44]
push ebx
pop eax
call fcn.00442610
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x48]
cmp ebx, 0x10
jge 0x43d097
mov edx, dword [esp + 0x2c]
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.00487530
mov edx, 0x55b452
push edx
call fcn.00487530
lea eax, [esp + 0x30]
push eax
call fcn.00487590
mov edx, dword [esp + 0x2c]
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.00487530
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.004874f0
pop edx
push eax
mov eax, dword [esp + 0x54]
cdq
push edx
push eax
call fcn.00485610
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.00487590
inc dword [esp + 0x44]
jno 0x43d03d
push dword [esp + 0x3c]
call fcn.00486330
pop eax
push dword [esp + 0x10]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x28]
push edx
call fcn.004874f0
pop edx
push eax
push edx
call fcn.00487530
pop eax
push eax
call fcn.004426a0
pop edx
add eax, edx
jmp 0x43d115
push dword [esp + 8]
call fcn.004876f0
push dword [esp + 0x20]
call fcn.004876f0
push dword [esp]
call fcn.004876f0
push dword [esp + 4]
call fcn.004876f0
push dword [esp + 0x28]
call fcn.004876f0
add esp, 0x48
pop ebx
ret 0xc