Function at 0x46b4a7
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov edx, 0xf
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x46b4ad
mov eax, dword [esp + 0x50]
mov dword [0x465e94], eax
mov edx, dword [esp + 0x44]
lea ecx, [esp]
call fcn.004010f0
mov edx, dword [esp + 0x48]
lea ecx, [esp + 4]
call fcn.004010f0
mov edx, 0x45f052
lea ecx, [esp + 0x38]
call fcn.004010f8
push dword [esp]
call fcn.0046a32a
mov dword [esp + 0xc], eax
push dword [0x465e94]
push dword [esp + 4]
call fcn.0046a280
lea eax, [esp + 0x14]
push eax
call fcn.0040c7c0
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x20
jne 0x46b522
mov dword [esp + 0x4c], 0x200
jmp 0x46b533
mov ebx, dword [esp + 0x4c]
cmp ebx, 0x40
jne 0x46b533
mov dword [esp + 0x4c], 0x100
lea eax, [esp + 8]
push eax
mov ebx, dword [esp + 0x50]
or ebx, 0x20019
push ebx
push 0
push dword [esp + 0x1c]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegOpenKeyExW
mov ebx, eax
and ebx, ebx
jne 0x46b868
lea eax, [esp + 0x1c]
push eax
push 0
lea eax, [esp + 0x1c]
push eax
push 0
push dword [esp + 0x14]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegQueryValueExW
mov ebx, eax
and ebx, ebx
jne 0x46b85f
mov ebx, dword [esp + 0x1c]
and ebx, ebx
jne 0x46b5ae
mov edx, dword [esp + 0x38]
push dword [0x465e94]
push edx
call fcn.0040c820
pop eax
add eax, dword [0x464b40]
jmp 0x46b891
push dword [esp + 0x1c]
call fcn.0040c340
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0x1c]
push eax
push 0
push dword [esp + 0x14]
push dword [esp + 0x1c]
call sub.ADVAPI32.dll_RegQueryValueExW
push dword [esp + 0x14]
mov ebx, 1
cmp ebx, dword [esp]
jne 0x46b60d
push dword [0x465e94]
push dword [0x465e94]
push dword [esp + 0x24]
call fcn.0040c530
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
jmp 0x46b855
mov ebx, 2
cmp ebx, dword [esp]
jne 0x46b654
push dword [0x465e94]
push dword [0x465e94]
push dword [esp + 0x24]
call fcn.0040c530
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
push dword [0x465e94]
push dword [esp + 0x40]
call fcn.0046a1de
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
jmp 0x46b855
mov ebx, 4
cmp ebx, dword [esp]
jne 0x46b68a
push dword [0x465e94]
push dword [0x465e94]
push dword [esp + 0x24]
call fcn.0040c4a0
cdq
push edx
push eax
call fcn.0040be50
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
jmp 0x46b855
mov ebx, 0xb
cmp ebx, dword [esp]
jne 0x46b6bf
push dword [0x465e94]
push dword [0x465e94]
push dword [esp + 0x24]
call fcn.0040c4b0
push edx
push eax
call fcn.0040be50
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
jmp 0x46b855
mov ebx, 3
cmp ebx, dword [esp]
jne 0x46b763
mov dword [esp + 0x30], 0
jmp 0x46b6d7
mov ebx, dword [esp + 0x20]
dec ebx
cmp ebx, dword [esp + 0x30]
jl 0x46b75e
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x30]
push ebx
call fcn.0040c480
mov ebx, eax
and ebx, 0xff
mov dword [esp + 0x34], ebx
mov edx, dword [esp + 0x3c]
push dword [0x465e94]
push edx
call fcn.0040c820
push dword [0x465e94]
push dword [0x465e94]
mov eax, 0x45f344
push eax
push 2
push dword [0x465e94]
push dword [0x465e94]
mov eax, dword [esp + 0x50]
cdq
push edx
push eax
call fcn.0040b610
mov edx, dword [0x464b40]
add dword [esp], edx
call fcn.0040b910
pop eax
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
inc dword [esp + 0x30]
jno 0x46b6d7
jmp 0x46b855
mov ebx, 7
cmp ebx, dword [esp]
jne 0x46b855
mov dword [esp + 0x28], 0
mov dword [esp + 0x30], 0
jmp 0x46b783
mov ebx, dword [esp + 0x20]
add ebx, 0xfffffffe
cmp ebx, dword [esp + 0x30]
jl 0x46b855
mov ebx, dword [esp + 0x1c]
add ebx, dword [esp + 0x30]
push ebx
call fcn.0040c490
push eax
pop eax
mov word [esp + 0x38], ax
movzx ebx, word [esp + 0x38]
xor eax, eax
cmp ebx, eax
jne 0x46b84a
push dword [esp + 0x3c]
mov edx, 0x45f052
pop ecx
call fcn.00401100
jne 0x46b7ee
mov edx, dword [esp + 0x3c]
push dword [0x465e94]
push edx
call fcn.0040c820
mov edx, 0x4610e4
push edx
call fcn.0040c820
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
push dword [0x465e94]
push dword [0x465e94]
mov ebx, dword [esp + 0x38]
sub ebx, dword [esp + 0x30]
push ebx
mov ebx, dword [esp + 0x28]
add ebx, dword [esp + 0x34]
push ebx
call fcn.0040c4c0
lea eax, [esp + 0x28]
push eax
call fcn.0040c7c0
mov edx, dword [esp + 0x3c]
push dword [0x465e94]
push edx
call fcn.0040c820
mov edx, dword [esp + 0x28]
push edx
call fcn.0040c820
lea eax, [esp + 0x40]
push eax
call fcn.0040c7c0
mov ebx, dword [esp + 0x30]
add ebx, 2
mov dword [esp + 0x28], ebx
add dword [esp + 0x30], 2
jno 0x46b783
pop eax
push dword [esp + 0x18]
call fcn.0040c430
push dword [esp + 8]
call sub.ADVAPI32.dll_RegCloseKey
mov edx, dword [esp + 0x38]
push dword [0x465e94]
push edx
call fcn.0040c820
pop eax
add eax, dword [0x464b40]
jmp 0x46b891
push dword [esp + 0x38]
call fcn.0040c870
push dword [esp + 0x10]
call fcn.0040c870
push dword [esp]
call fcn.0040c870
push dword [esp + 4]
call fcn.0040c870
push dword [esp + 0x20]
call fcn.0040c870
add esp, 0x3c
pop ebx
ret 0xc