Function at 0x410822
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x133f
sub esp, 0x70
push fcn.00410822
xor esi, esi
xor edi, edi
mov ecx, 0x8f
push esi
dec ecx
jne 0x41083e
push 0
push 0
lea ebx, [ebp - 0x2a4]
mov dword [ebx], esi
push ebx
push 0xf003f
push 0
mov edx, 0x421e70
call fcn.0041ef8b
lea ebx, [esp + 0xc]
call fcn.0041e498
fild qword [0x423fd8]
call fcn.0041e3cf
push eax
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0041c82d
pop eax
add esp, 4
mov esi, dword [ebp - 0x2a4]
fldcw word [ebp - 0x10]
pop dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
jne 0x410bb5
push 0
push 0
push 0
push 0
mov eax, 4
lea ebx, [esp + 8]
push ebx
mov dword [ebx], eax
lea ebx, [ebp - 0x2a8]
mov dword [ebx], edi
push ebx
mov eax, 4
lea ebx, [esp + 0xc]
push ebx
mov dword [ebx], eax
push 0
mov edx, 0x421eb0
call fcn.0041ef8b
lea ebx, [esp + 0x10]
call fcn.0041e498
mov eax, esi
push eax
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0041c82d
pop eax
add esp, 0xc
mov edi, dword [ebp - 0x2a8]
fldcw word [ebp - 0x10]
pop dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
je 0x41090f
jmp 0x410ba9
mov eax, edi
test eax, eax
mov eax, 0xffffffff
je 0x41091b
inc eax
test eax, eax
je 0x410928
jmp 0x410ba9
push 0
push 0
push 0
push 0
mov eax, 0x104
lea ebx, [esp + 8]
push ebx
mov dword [ebx], eax
lea ebx, [ebp - 0x19c]
push ebx
mov eax, 1
lea ebx, [esp + 0xc]
push ebx
mov dword [ebx], eax
push 0
mov edx, 0x421ec0
call fcn.0041ef8b
lea ebx, [esp + 0x10]
call fcn.0041e498
mov eax, esi
push eax
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExA]
push eax
mov ebx, esp
mov eax, dword [ebx + 4]
call fcn.0041c82d
pop eax
add esp, 0xc
fldcw word [ebp - 0x10]
pop dword [ebp - 0x30]
cmp eax, dword [ebp - 0x30]
jne 0x410ba9
lea ebx, [ebp - 0x19c]
call fcn.0041edc6
mov edx, 0x421ed0
call fcn.0041ef8b
call fcn.0041d546
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp - 0x2b8]
mov dword [ebp - 0x2c0], eax
mov edi, 1
jmp 0x410b9b
lea ebx, [ebp - 0x19c]
call fcn.0041edc6
mov edx, 0x421ed0
call fcn.0041ef8b
mov eax, edi
call fcn.0041d5fb
lea ebx, [ebp - 0x2a0]
mov ecx, 0x104
call fcn.0041ee0f
lea ebx, [ebp - 0x2a0]
call fcn.0041edc6
mov eax, 1
mov edx, 0x421ed8
call fcn.0041ef8b
call fcn.00416698
mov dword [ebp - 0x2ac], eax
mov eax, 0xffffffff
lea ebx, [ebp - 0x2a0]
call fcn.0041edc6
mov edx, 0x4219f8
call fcn.0041ef8b
call fcn.00416698
mov dword [ebp - 0x2b0], eax
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x2b0]
jle 0x410a5e
mov dword [ebp - 0x2b0], 0
cmp dword [ebp - 0x2b0], 0
jle 0x410b99
lea ebx, [ebp - 0x2a0]
call fcn.0041edc6
mov ecx, 1
mov eax, dword [ebp - 0x2ac]
sub eax, 1
call fcn.00418b01
call fcn.0041cc22
call fcn.0041cc79
xor eax, eax
call fcn.0041791b
mov ebx, dword [ebp + 8]
call fcn.0041edc6
xor eax, eax
call fcn.0041791b
call fcn.0041e72f
mov eax, 0xffffffff
je 0x410ab6
inc eax
cmp dword [ebp - 0x2b8], 1
mov ecx, 0xffffffff
je 0x410ac5
inc ecx
cmp dword [ebp - 0x2ac], 0
mov dword [ebp - 0x30], eax
mov eax, 0xffffffff
je 0x410ad7
inc eax
and ecx, eax
or ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x410b99
lea ebx, [ebp - 0x2a0]
call fcn.0041edc6
mov eax, 1
add eax, dword [ebp - 0x2ac]
mov ecx, eax
mov eax, dword [ebp - 0x2b0]
sub eax, dword [ebp - 0x2ac]
sub eax, 1
call fcn.00418b01
call fcn.0041cc22
call fcn.0041cc79
mov ebx, dword [ebp + 0xc]
call fcn.0041e3d6
lea ebx, [ebp - 0x2a0]
call fcn.0041edc6
mov eax, 1
add eax, dword [ebp - 0x2b0]
mov ecx, eax
mov eax, 0x7fffffff
call fcn.00418b01
call fcn.0041d0b7
mov ebx, dword [ebp + 0x10]
fistp dword [ebx]
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebx]
call fcn.0041ef74
mov edx, 0x421af8
call fcn.0041ef8b
call fcn.0041e72f
je 0x410b99
xor eax, eax
mov ebx, dword [ebp + 0x10]
cmp eax, dword [ebx]
jge 0x410b99
mov eax, 0x7fff
mov ebx, dword [ebp + 0x10]
cmp eax, dword [ebx]
jl 0x410b99
mov dword [ebp - 0x2b4], 1
jmp 0x410ba9
inc edi
mov eax, edi
cmp eax, dword [ebp - 0x2c0]
jle 0x4109d0
mov eax, esi
push eax
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
fldcw word [ebp - 0x10]
mov eax, dword [ebp - 0x2b4]
test eax, eax
je 0x410bd2
mov dword [ebp - 0x98], 1
jmp 0x410bed
mov edx, 0x421af8
call fcn.0041ef8b
mov ebx, dword [ebp + 0xc]
call fcn.0041e3d6
mov ebx, dword [ebp + 0x10]
mov dword [ebx], 0
mov eax, dword [ebp - 0x98]
lea esp, [ebp - 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret 0xc