Function at 0x1004a9d0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov edx, dword fs:[0]
push 0xffffffffffffffff
push 0x1004ac9f
push edx
mov dword fs:[0], esp
sub esp, 8
sub esp, 0x13c
mov dword [ebp - 0x148], edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14c], esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x150], ebx
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x124]
mov dword [edi], 0
mov dword [edi + 4], 0
push dword [ebp + 0x10]
mov dword [ebp - 0x12c], 0xffffffff
push dword [ebp + 0xc]
call fcn.100201c0
mov dword [ebp - 4], 0
push 0x100
mov ecx, 0x100818b0
push ecx
call fcn.10024040
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x144]
add eax, eax
mov dword [ebp - 0x140], edx
call fcn.10037668
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x124]
call fcn.10020398
lea edx, [ebp - 0x12c]
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x12c]
push ecx
push 0
push eax
push esi
call sub.ADVAPI32.DLL_RegQueryValueExW
mov ebx, eax
add esp, 8
cmp ebx, 0xea
jne 0x1004aaec
lea ecx, [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x1c]
shr edx, 1
push edx
mov ecx, 0x100818b0
push ecx
call fcn.100234d4
lea eax, [ebp - 0x124]
call fcn.10020398
lea edx, [ebp - 0x12c]
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x12c]
push ecx
push 0
push eax
push esi
call sub.ADVAPI32.DLL_RegQueryValueExW
mov ebx, eax
add esp, 0xc
jmp 0x1004ab0b
test ebx, ebx
jne 0x1004ab0b
lea edx, [ebp - 0x144]
push edx
mov ecx, dword [ebp - 0x1c]
shr ecx, 1
push ecx
mov edx, 0x100818b0
push edx
call fcn.100234d4
add esp, 0xc
push ebx
mov edx, 0x1004acac
xor eax, eax
push edx
mov ecx, 0x1003e8d0
push eax
mov eax, 0x261
push ecx
push 0x16
call fcn.10049e90
cmp dword [ebp - 0x12c], 7
sete dl
mov ecx, 0x1004acb8
push edx
xor eax, eax
push ecx
push eax
call fcn.1000c6ac
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 0x18]
sete cl
mov edx, 0x1004acf0
push ecx
xor eax, eax
push edx
push eax
call fcn.1000c6ac
lea ecx, [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x144]
dec edx
push edx
mov edx, 0x100818b0
push edx
call fcn.100234d4
add esp, 0xc
cmp dword [ebp - 0x144], 0
je 0x1004abbf
mov ecx, dword [ebp - 0x144]
mov edx, dword [ebp - 0x140]
lea edx, [edx + ecx*2]
cmp word [edx - 2], 0
mov esi, dword [ebp - 0x144]
jne 0x1004abbf
lea eax, [ebp - 0x144]
mov esi, 0x100818b0
push eax
mov ebx, dword [ebp - 0x144]
lea ecx, [ebx - 1]
push ecx
push esi
call fcn.100234d4
add esp, 0xc
push dword [ebp - 0x140]
mov edx, 0x10013b78
mov eax, 1
push dword [ebp - 0x144]
push edx
push eax
call fcn.10052f38
mov ecx, 0x1006f6e0
push edi
mov dword [ebp - 0x13c], eax
push dword [ebp - 0x13c]
mov dword [ebp - 0x138], edx
push ecx
call fcn.100189d0
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [ebp - 0x134], eax
xor ebx, ebx
mov dword [ebp - 0x130], edx
add esp, 0xc
cmp dword [ebp - 0x134], ebx
je 0x1004ac43
mov ecx, dword [ebp - 0x130]
mov edx, dword [ebp - 0x138]
lea esi, [ecx + ebx*8]
push dword [edx + ebx*8 + 4]
mov edi, ebx
push dword [edx + ebx*8]
call fcn.1004a2f0
inc ebx
mov dword [esi], eax
mov dword [esi + 4], edx
cmp ebx, dword [ebp - 0x134]
jb 0x1004ac18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc]
push 0xffffffffffffffff
push ecx
push 0x10086050
call fcn.1001d55c
add esp, 0xc
call fcn.1004ac67
jmp 0x1004ac7a
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ebx, dword [ebp - 0x150]
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x148]
mov esp, ebp
pop ebp
ret 0x10