Function at 0x401b75
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
push ebx
xor eax, eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, dword [esp + 0x38]
mov dword [0x41c20c], eax
mov edx, dword [esp + 0x28]
lea ecx, [esp]
call fcn.00404000
mov dword [esp + 8], 0x20019
cmp dword [esp + 0x30], 0
je 0x401bb1
mov ebx, dword [esp + 8]
or ebx, 0x100
mov dword [esp + 8], ebx
push dword [0x41c20c]
push dword [0x41c20c]
push 1
push dword [esp + 0xc]
call fcn.0040e590
add dword [0x41c20c], 2
mov edx, 0x41a0c8
pop ecx
mov dword [0x41c20c], ecx
add ecx, dword [0x41a9e0]
call fcn.00404070
je 0x401c17
push dword [0x41c20c]
push dword [0x41c20c]
push dword [esp + 8]
call fcn.0040e600
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0xc]
call fcn.0040e630
lea eax, [esp + 4]
push eax
call fcn.0040fa40
push dword [0x41c20c]
push dword [0x41c20c]
push 1
push dword [esp + 0xc]
call fcn.0040e630
add dword [0x41c20c], 2
mov edx, 0x41a0c8
pop ecx
mov dword [0x41c20c], ecx
add ecx, dword [0x41a9e0]
call fcn.00404070
je 0x401c7d
push dword [0x41c20c]
push dword [0x41c20c]
push dword [esp + 8]
call fcn.0040e600
mov ebx, eax
dec ebx
push ebx
push dword [esp + 0xc]
call fcn.0040e590
lea eax, [esp + 4]
push eax
call fcn.0040fa40
mov ebx, dword [esp + 0x34]
and ebx, ebx
je 0x401c98
push 0x41a790
push 0x24
push dword [esp + 0x3c]
call fcn.0040ed30
lea eax, [esp + 0xc]
push eax
push dword [esp + 0xc]
push 0
push dword [esp + 0xc]
push dword [esp + 0x34]
call sub.ADVAPI32.DLL_RegOpenKeyExW
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
je 0x401d1b
mov ebx, dword [esp + 0x34]
and ebx, ebx
je 0x401cee
push dword [esp + 4]
mov ebp, dword [esp + 0x38]
pop eax
mov dword [ebp + 8], eax
push dword [0x41c20c]
push dword [esp + 8]
call fcn.00402c0e
mov ebp, dword [esp + 0x38]
lea eax, [ebp + 0xc]
push eax
call fcn.0040fa40
cmp dword [esp + 0xc], 0
je 0x401cfe
push dword [esp + 0xc]
call sub.ADVAPI32.DLL_RegCloseKey
mov edx, 0x41a028
push dword [0x41c20c]
push edx
call fcn.0040f9e0
pop eax
add eax, dword [0x41a9e0]
jmp 0x401e96
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x28]
push eax
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
call sub.ADVAPI32.DLL_RegQueryInfoKeyW
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
je 0x401dbc
mov ebx, dword [esp + 0x34]
and ebx, ebx
je 0x401d96
push dword [esp + 4]
mov ebp, dword [esp + 0x38]
pop eax
mov dword [ebp + 8], eax
push dword [0x41c20c]
push dword [esp + 8]
call fcn.00402c0e
mov ebp, dword [esp + 0x38]
lea eax, [ebp + 0xc]
push eax
call fcn.0040fa40
push dword [esp + 0xc]
call sub.ADVAPI32.DLL_RegCloseKey
mov edx, 0x41a028
push dword [0x41c20c]
push edx
call fcn.0040f9e0
pop eax
add eax, dword [0x41a9e0]
jmp 0x401e96
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
push dword [0x41c20c]
push dword [0x41c20c]
push dword [esp + 0x18]
call fcn.0040e6b0
lea eax, [esp + 0x18]
push eax
call fcn.0040fa40
push 0
push 0
push 0
push 0
lea eax, [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push eax
push dword [esp + 0x44]
push dword [esp + 0x28]
call sub.ADVAPI32.DLL_RegEnumKeyExW
mov dword [esp + 4], eax
push dword [esp + 0xc]
call sub.ADVAPI32.DLL_RegCloseKey
cmp dword [esp + 4], 0
je 0x401e6d
mov ebx, dword [esp + 0x34]
and ebx, ebx
je 0x401e53
push dword [esp + 4]
mov ebp, dword [esp + 0x38]
pop eax
mov dword [ebp + 8], eax
push dword [0x41c20c]
push dword [esp + 8]
call fcn.00402c0e
mov ebp, dword [esp + 0x38]
lea eax, [ebp + 0xc]
push eax
call fcn.0040fa40
mov edx, 0x41a028
push dword [0x41c20c]
push edx
call fcn.0040f9e0
pop eax
add eax, dword [0x41a9e0]
jmp 0x401e96
mov edx, dword [esp + 0x14]
push dword [0x41c20c]
push edx
call fcn.0040f9e0
pop eax
add eax, dword [0x41a9e0]
jmp 0x401e96
push dword [esp]
call fcn.0040fac0
push dword [esp + 0x14]
call fcn.0040fac0
add esp, 0x18
pop ebx
pop ebp
ret 0x14