Function at 0x4062d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41f06a
mov eax, dword fs:[0]
push eax
sub esp, 0x68c
mov eax, dword [0x425758]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x48c]
push eax
call fcn.00405e10
add esp, 4
test eax, eax
je 0x406318
mov eax, 1
jmp 0x406611
lea ecx, [ebp - 0x118]
push ecx
push 1
push 0
push str.SYSTEMCurrentControlSetControl
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x40634e
push str.checkicuser:_regopen_error_n
call fcn.00407f60
add esp, 4
mov eax, 1
jmp 0x406611
mov byte [ebp - 0x114], 0
mov byte [ebp - 0x21c], 0
mov byte [ebp - 0x34c], 0
mov dword [ebp - 0x350], 0xfa
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x114]
push eax
push 0
push 0
push str.XAX3XBXOXOXT2
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4063ac
push str.checkicuser:_a3boot2_read_error_n
call fcn.00407f60
add esp, 4
mov eax, 2
jmp 0x406611
mov dword [ebp - 0x350], 0xfa
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x21c]
push eax
push 0
push 0
push str.XAX3XBXOXOXT21
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x4063e5
mov byte [ebp - 0x21c], 0
mov dword [ebp - 0x350], 0xfa
lea edx, [ebp - 0x350]
push edx
lea eax, [ebp - 0x34c]
push eax
push 0
push 0
push str.XAX3XBXOXOXT22
mov ecx, dword [ebp - 0x118]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
je 0x40641e
mov byte [ebp - 0x34c], 0
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x118], 0
push 0x14
lea eax, [ebp - 0x48c]
push eax
lea ecx, [ebp - 0x58c]
push ecx
call fcn.0040bd00
add esp, 0xc
push 0x40
mov edx, dword [ebp + 8]
add edx, 0x6d
push edx
lea eax, [ebp - 0x578]
push eax
call fcn.0040bd00
add esp, 0xc
lea ecx, [ebp - 0x24c]
push ecx
push 0x54
lea edx, [ebp - 0x58c]
push edx
call fcn.00407f70
add esp, 0xc
push 1
lea eax, [ebp - 0x23c]
push eax
push 0x10
lea ecx, [ebp - 0x24c]
push ecx
mov edx, dword [ebp + 8]
add edx, 0x6d
push edx
call fcn.00407b30
add esp, 0x14
mov dword [ebp - 0x690], 0
jmp 0x4064b9
mov eax, dword [ebp - 0x690]
add eax, 1
mov dword [ebp - 0x690], eax
cmp dword [ebp - 0x690], 0x10
jge 0x4064ee
mov ecx, dword [ebp - 0x690]
movzx edx, byte [ebp + ecx - 0x23c]
push edx
push 0x42084c
mov eax, dword [ebp - 0x690]
lea ecx, [ebp + eax*2 - 0x68c]
push ecx
call fcn.00409ac7
add esp, 0xc
jmp 0x4064aa
mov edx, dword [ebp + 8]
add edx, 0x2d
push edx
lea eax, [ebp - 0x388]
push eax
call fcn.00405ee0
add esp, 8
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
add ecx, 0x4d
push ecx
lea edx, [ebp - 0x36c]
push edx
call fcn.00405ee0
add esp, 8
mov byte [ebp - 4], 1
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x68c]
push ecx
call fcn.0040c1fa
add esp, 8
test eax, eax
je 0x406588
lea edx, [ebp - 0x21c]
push edx
lea eax, [ebp - 0x388]
push eax
call fcn.00407200
add esp, 8
movzx ecx, al
test ecx, ecx
jne 0x406588
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xde]
cmp eax, 1
je 0x4065bd
lea ecx, [ebp - 0x34c]
push ecx
lea edx, [ebp - 0x36c]
push edx
call fcn.00407200
add esp, 8
movzx eax, al
test eax, eax
je 0x4065bd
mov dword [ebp - 0x694], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x36c]
call fcn.00406ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.00406ac0
mov eax, dword [ebp - 0x694]
jmp 0x406611
mov dword [ebp - 0x698], 5
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x36c]
call fcn.00406ac0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.00406ac0
mov eax, dword [ebp - 0x698]
jmp 0x406611
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040c735
mov esp, ebp
pop ebp
ret