Function at 0x491680
Capabilities:
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x552239
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0xb8
push esi
push edi
push 0xff
mov dword [ebp - 0x1c], 0
call fcn.004423dc
add esp, 4
mov edi, eax
push 0xff
push 0
push edi
call fcn.004359a0
add esp, 0xc
push 0xff
call fcn.004423dc
add esp, 4
mov dword [ebp - 0x24], eax
push 0xff
push 0
push eax
call fcn.004359a0
mov dword [ebp - 0x18], 0xfdc69bfe
add esp, 0xc
mov dword [ebp - 0x14], 0xb6925f86
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x18], 0x297f2a
mov dword [ebp - 0x14], 0xd3bafa8b
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x18], 0xe1a87ebb
mov dword [ebp - 0x14], 0x77e38502
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x18], 0x46b00084
mov dword [ebp - 0x14], 0xc0afea8a
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x18], 0xea4a9711
mov dword [ebp - 0x14], 0xb996d316
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x18], 0x2d13b0cb
mov dword [ebp - 0x14], 0x6d869c
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x18], 0xa980d4ad
mov dword [ebp - 0x14], 0xf3c01ed1
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x61453c76
mov dword [ebp - 0x14], 0xa0df89f8
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x99c738e7
mov dword [ebp - 0x14], 0x1b8ae46f
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xb4], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0x23d873d8
mov dword [ebp - 0x14], 0xaff386e6
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xac], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x18], 0xb624f261
mov dword [ebp - 0x14], 0xd4fbbc75
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x18], 0x2d77deaa
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x14], 0x6d869c
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movaps xmm1, xmmword [ebp - 0x90]
xorps xmm1, xmmword [ebp - 0xc0]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x20]
movaps xmmword [ebp - 0x90], xmm1
movaps xmm1, xmmword [ebp - 0x80]
xorps xmm1, xmmword [ebp - 0xb0]
push eax
push 1
movaps xmmword [ebp - 0x80], xmm1
lea eax, [ebp - 0x90]
movaps xmm1, xmmword [ebp - 0x70]
push 0
mov dword [ebp - 0x94], ecx
xorps xmm1, xmmword [ebp - 0xa0]
push eax
push closesocket
movaps xmmword [ebp - 0x70], xmm1
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x491a3b
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xff
push eax
push edi
push 0
push 0
push 0
push dword [ebp - 0x20]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x20]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x491a3b
mov eax, edi
mov dword [ebp - 0x2c], esi
xorps xmm0, xmm0
mov dword [ebp - 0x28], esi
movups xmmword [ebp - 0x3c], xmm0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4918f7
sub eax, edx
lea ecx, [ebp - 0x3c]
push eax
push edi
call fcn.00403040
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x2c]
lea ecx, [eax - 5]
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
cmp eax, 1
jb 0x491a50
dec eax
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x28], 0xf
lea eax, [ebp - 0x3c]
cmova eax, dword [ebp - 0x3c]
push ecx
inc eax
lea ecx, [ebp - 0x54]
push eax
call fcn.00403040
cmp dword [ebp - 0x40], 0xf
lea ecx, [ebp - 0x54]
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
cmova ecx, esi
add eax, 0xffffffef
mov dword [ebp - 0x1c], 1
push eax
push ecx
push dword [ebp - 0x24]
call fcn.00435260
mov eax, 1
add esp, 0xc
mov dword [ebp - 0x1c], eax
and eax, 0xfffffffe
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x40]
cmp eax, 0xf
jbe 0x4919c1
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x4919b7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x491a55
push ecx
push esi
call fcn.004338e3
add esp, 8
push edi
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.00441c86
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
cmp ecx, 0xf
jbe 0x491a13
mov edx, dword [ebp - 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x491a09
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x491a5a
push ecx
push edx
call fcn.004338e3
add esp, 8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00419e60
call fcn.00438c60
call fcn.00438c60
int3