Function at 0x4b7e00
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x629587
mov eax, dword fs:[0]
push eax
sub esp, 0x230
mov eax, dword [0x70a308]
xor eax, esp
mov dword [esp + 0x22c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x70a308]
xor eax, esp
push eax
lea eax, [esp + 0x244]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
call fcn.0040cd50
mov dword [esp + 0x24c], 0
lea ecx, [esi + 0x58]
mov dword [esi], vtable.CIDMListCtrl.0
call fcn.004ba2e0
mov byte [esp + 0x24c], 1
lea ecx, [esi + 0xb4]
call fcn.005dbff8
mov byte [esp + 0x24c], 2
lea ecx, [esi + 0xcc]
call fcn.004eebc0
mov byte [esp + 0x24c], 3
lea ecx, [esi + 0x19c]
call fcn.005dbff8
mov byte [esp + 0x24c], 4
mov byte [esi + 0x54], 0
mov byte [esi + 0x198], 0
xor eax, eax
lea ecx, [esi + 0x16c]
mov dword [ecx], eax
inc eax
add ecx, 4
cmp eax, 0xb
jl 0x4b7eb3
mov ecx, esi
call fcn.004b7920
mov ebx, 1
lea edx, [esi + 0x16c]
mov dword [esp + 0x24], 0xa
cmp ebx, 0xb
jge 0x4b7f14
mov ebp, 0xb
lea eax, [edx + 4]
sub ebp, ebx
jmp 0x4b7ef0
mov edi, dword [edx]
cmp dword [esi + edi*8 + 0x118], 0
jne 0x4b7f0c
mov ecx, dword [eax]
cmp dword [esi + ecx*8 + 0x118], 0
je 0x4b7f0c
mov dword [edx], ecx
mov dword [eax], edi
add eax, 4
sub ebp, 1
jne 0x4b7ef0
add edx, 4
inc ebx
sub dword [esp + 0x24], 1
jne 0x4b7ed8
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0
push 0xf003f
push 0
push 0x64f8bc
push 0
push str.SoftwareDownloadManagerListSettings
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x4b7f84
lea ecx, [esp + 0x30]
call fcn.004b1950
mov byte [esp + 0x24c], 5
push 1
push str.Cannot_open__create__registry_listsettings_subkey._n
lea ecx, [esp + 0x38]
call fcn.004b1ac0
mov byte [esp + 0x24c], 4
lea ecx, [esp + 0x30]
call fcn.004b1ab0
jmp 0x4b82ea
mov ecx, dword [esp + 0x20]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push str.FileName
mov ebx, 8
push ecx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b7fc5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x114], edx
mov dword [esi + 0x118], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push str.DateAdded
push eax
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b7ffb
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x11c], ecx
mov dword [esi + 0x120], edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push str.Queue
push edx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b8031
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x124], eax
mov dword [esi + 0x128], ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push str.Size
push ecx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b8067
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x12c], edx
mov dword [esi + 0x130], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0x6617f0
push eax
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b809d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x134], ecx
mov dword [esi + 0x138], edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push str.Timeleft
push edx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b80d3
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x13c], eax
mov dword [esi + 0x140], ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push str.TransferRate
push ecx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b8109
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x144], edx
mov dword [esi + 0x148], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push str.LastTry
push eax
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b813f
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x14c], ecx
mov dword [esi + 0x150], edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push 0x6604c0
push edx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b8175
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi + 0x154], eax
mov dword [esi + 0x158], ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push 0
push 0
push str.SaveTo
push ecx
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b81ab
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x15c], edx
mov dword [esi + 0x160], eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push str.Referer
push eax
mov dword [esp + 0x2c], ebx
call edi
test eax, eax
jne 0x4b81e1
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x164], ecx
mov dword [esi + 0x168], edx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x14]
push eax
lea eax, [esi + 0x16c]
push eax
push 0
push 0
push str.Order
push ecx
mov dword [esp + 0x2c], 0x2c
call edi
xor edx, edx
lea eax, [esi + 0x114]
lea ecx, [edx + 0xb]
cmp dword [eax + 4], 0
je 0x4b821a
add edx, dword [eax]
jmp 0x4b8225
cmp dword [eax], 0
jne 0x4b8225
mov dword [eax], 0xa
add eax, ebx
sub ecx, 1
jne 0x4b8210
test edx, edx
jne 0x4b8237
mov ecx, esi
call fcn.004b7920
push 0
mov ebp, 0x60
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x4b8265
mov ebx, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
push edi
call ebx
push 0x5a
push edi
mov ebp, eax
call ebx
push edi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
cmp ebp, 0x60
je 0x4b828b
lea edi, [esi + 0x114]
mov ebx, 0xb
mov eax, dword [edi]
push 0x60
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [edi], eax
add edi, 8
sub ebx, 1
jne 0x4b8275
mov ebx, 1
lea edx, [esi + 0x16c]
mov dword [esp + 0x24], 0xa
mov edi, edi
cmp ebx, 0xb
jge 0x4b82d4
mov ebp, 0xb
lea eax, [edx + 4]
sub ebp, ebx
nop
mov edi, dword [edx]
cmp dword [esi + edi*8 + 0x118], 0
jne 0x4b82cc
mov ecx, dword [eax]
cmp dword [esi + ecx*8 + 0x118], 0
je 0x4b82cc
mov dword [edx], ecx
mov dword [eax], edi
add eax, 4
sub ebp, 1
jne 0x4b82b0
add edx, 4
inc ebx
sub dword [esp + 0x24], 1
jne 0x4b82a0
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x24c], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x244]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x22c]
xor ecx, esp
call fcn.005f85e7
add esp, 0x23c
ret