Function at 0x548010
Capabilities:
Hide graphical window
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x428]
sub esp, 0x428
push 0xffffffffffffffff
push 0x65ed28
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x758898]
xor eax, ebp
mov dword [ebp + 0x424], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
call fcn.005f6b34
mov dword [esi + 0xe4], esi
mov dword [esi + 0xe8], 0x541
push 0x541
mov ecx, esi
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0xe0], eax
mov dword [esi + 0xf4], esi
mov dword [esi + 0xf8], 0x58f
push 0x58f
mov ecx, esi
call fcn.005f5a75
mov ecx, dword [eax + 0x20]
mov dword [esi + 0xf0], ecx
mov dword [esi + 0x104], esi
mov dword [esi + 0x108], 0x6b5
push 0x6b5
mov ecx, esi
call fcn.005f5a75
mov edx, dword [eax + 0x20]
mov dword [esi + 0x100], edx
mov dword [esi + 0x114], esi
mov dword [esi + 0x118], 0x6d5
push 0x6d5
mov ecx, esi
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x110], eax
xor edi, edi
mov dword [ebp - 4], edi
cmp dword [esi + 0x128], edi
je 0x54810e
lea ecx, [esi + 0x120]
push ecx
push 1
push edi
push edi
push edi
push esi
call fcn.0045b550
add esp, 0x18
jmp 0x548117
push esi
call fcn.0045bf70
add esp, 4
cmp dword [0x75dd30], edi
je 0x54812f
push 0x15c
push esi
mov ecx, 0x75dcf0
call fcn.004e6a60
cmp dword [0x75e390], edi
jne 0x5481ae
mov eax, dword [0x75e38c]
cmp eax, edi
jne 0x54819d
mov dword [ebp + 0x18], edi
mov dword [ebp + 0x20], edi
xor edx, edx
mov word [ebp + 0x1c], dx
mov byte [ebp - 4], 1
mov eax, dword [0x75dc58]
cmp eax, edi
jne 0x54815e
mov eax, 0x75dc5c
push edi
push 0x67d744
push eax
push 0x678de0
lea ecx, [ebp + 0x18]
call fcn.00402310
mov eax, dword [ebp + 0x18]
cmp eax, edi
jne 0x54817c
lea eax, [ebp + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [0x75e38c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x18]
call fcn.00401210
mov eax, dword [0x75e38c]
cmp eax, edi
je 0x5481ae
push str.CreateIDMButton
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x75e390], eax
push 0x6ba
mov ecx, esi
call fcn.005f5a75
mov ebx, dword [eax + 0x20]
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
lea edx, [ebp - 0x3c]
push edx
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
call fcn.005fdc97
push 0x75f540
lea ecx, [ebp - 0x18]
call fcn.004027e0
mov byte [ebp - 4], 2
mov dword [ebp], edi
mov dword [ebp + 8], edi
xor ecx, ecx
mov word [ebp + 4], cx
mov byte [ebp - 4], 3
mov edx, dword [0x75dd28]
push edx
mov eax, dword [ebp - 0x18]
push eax
lea ecx, [ebp]
call fcn.00401970
mov eax, dword [ebp]
cmp eax, edi
jne 0x548222
lea eax, [ebp + 4]
push eax
lea ecx, [ebp - 0x40]
call fcn.00418220
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x548255
test dl, dl
je 0x548251
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x548255
add eax, 2
add ecx, 2
test dl, dl
jne 0x548235
xor eax, eax
jmp 0x54825a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x54826b
push str.Download_selected_file_s__with_IDM
lea ecx, [ebp - 0x18]
call fcn.0054f750
mov byte [ebp - 4], 5
push 0x75f41c
lea ecx, [ebp - 0x24]
call fcn.004027e0
mov bl, 6
mov byte [ebp - 4], bl
mov dword [ebp + 0xc], edi
mov dword [ebp + 0x14], edi
xor ecx, ecx
mov word [ebp + 0x10], cx
mov byte [ebp - 4], 7
mov edx, dword [0x75dd28]
push edx
mov eax, dword [ebp - 0x24]
push eax
lea ecx, [ebp + 0xc]
call fcn.00401970
mov eax, dword [ebp + 0xc]
cmp eax, edi
jne 0x5482ae
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp - 0x20]
call fcn.00418220
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5482e1
test dl, dl
je 0x5482dd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5482e1
add eax, 2
add ecx, 2
test dl, dl
jne 0x5482c1
xor eax, eax
jmp 0x5482e6
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x5482f7
push 0x6958a4
lea ecx, [ebp - 0x24]
call fcn.0054f750
mov ecx, dword [0x75e390]
cmp ecx, edi
je 0x548368
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
push str.test_mode
push edi
push edi
push edi
push edi
push edi
push edi
push edi
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x24]
push eax
push edi
sub esp, 0x10
mov eax, esp
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov edx, dword [ebp - 0x4c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x48]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x20]
push eax
call ecx
mov dword [esi + 0x134], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.00402560
mov byte [ebp - 4], bl
lea ecx, [ebp + 0xc]
call fcn.00401210
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24]
call fcn.00402560
mov dword [ebp - 4], 4
jmp 0x5483a4
push 0
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x6bb
mov ecx, esi
call fcn.005f5a75
mov edi, dword [eax + 0x20]
mov dword [ebp - 0x2c], edi
lea edx, [ebp - 0x3c]
push edx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
call fcn.005fdc97
mov byte [ebp - 4], 0xa
mov ecx, dword [0x75e390]
test ecx, ecx
je 0x548461
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.test_mode
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov edx, dword [ebp - 0x18]
push edx
push 0
push 0
sub esp, 0x10
mov eax, esp
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov edx, dword [ebp - 0x4c]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x48]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0xc], edx
sub esp, 0x10
mov eax, esp
mov edx, dword [ebp - 0x3c]
mov dword [eax], edx
mov edx, dword [ebp - 0x38]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x34]
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x20]
push eax
call ecx
mov dword [esi + 0x138], eax
mov dword [ebp - 4], 4
jmp 0x54847d
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
lea edi, [esi + 0x12c]
push 0
push edi
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareDownloadManagerDwnlSelPanel
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x5484b6
mov dword [edi], 0
mov eax, 1
mov dword [ebp - 0x14], eax
mov dword [esi + 0x130], 0
mov dword [ebp - 0x20], eax
mov eax, dword [edi]
test eax, eax
je 0x54855b
mov dword [ebp - 0x1c], 4
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 0
push 0
push str.PanelView
push eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
call ebx
test eax, eax
jne 0x548503
cmp dword [ebp - 0x28], 2
jne 0x548503
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], 4
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 0
push 0
push str.PanelMode
mov edx, dword [edi]
push edx
call ebx
test eax, eax
jne 0x54852a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 4
lea ecx, [ebp - 0x1c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 0
push 0
push str.SitesEdited
mov eax, dword [edi]
push eax
call ebx
test eax, eax
jne 0x548555
mov dword [esi + 0x130], 1
cmp dword [ebp - 0x14], 0
je 0x548570
push 1
lea ecx, [esi + 0xfc]
call fcn.00405450
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x548591
push 0x6b6
mov ecx, esi
call fcn.005f5a75
push 0
push 1
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
call edi
mov ebx, dword [ebp - 0x20]
mov ecx, esi
cmp ebx, 3
jne 0x5485b4
push 0x6d2
call fcn.005f5a75
push 0
push 1
push 0xf1
mov edx, dword [eax + 0x20]
push edx
jmp 0x5485f1
push 0
call fcn.00547980
mov ecx, esi
cmp ebx, 1
jne 0x5485da
push 0x6d0
call fcn.005f5a75
push 0
push ebx
push 0xf1
mov eax, dword [eax + 0x20]
push eax
jmp 0x5485f1
push 0x6d1
call fcn.005f5a75
push 0
push 1
push 0xf1
mov ecx, dword [eax + 0x20]
push ecx
call edi
lea ebx, [esi + 0x88]
push 0x20
mov ecx, ebx
call fcn.0040d0b0
push 0xffffffffffffffff
push 0xc8
push 0
push 0x67997c
push 0
mov ecx, ebx
call fcn.00601481
cmp dword [esi + 0x130], 0
jne 0x54863c
xor edi, edi
cmp edi, 0xc
jge 0x5486a4
mov edx, dword [edi*4 + 0x755014]
push edx
push edi
mov ecx, ebx
call fcn.0040d070
inc edi
jmp 0x548624
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x14]
push eax
push 0
push 0
push 0
mov ecx, dword [esi + 0x12c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
jne 0x5486a4
cmp dword [ebp - 0x14], eax
je 0x5486a4
xor ebx, ebx
xor edi, edi
mov edi, edi
test edi, edi
jne 0x5486a4
push 0x400
lea edx, [ebp + 0x24]
push edx
push ebx
mov eax, dword [esi + 0x12c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
mov edi, eax
test edi, edi
jne 0x5486a1
lea ecx, [ebp + 0x24]
push ecx
push ebx
lea ecx, [esi + 0x88]
call fcn.0040d070
inc ebx
jmp 0x548670
cmp dword [esi + 0x134], 0
je 0x5486c9
cmp dword [esi + 0x138], 0
je 0x5486c9
push 0
push 0xc8
push 1
mov edx, dword [esi + 0x20]
push edx
call dword [sym.imp.USER32.dll_SetTimer]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.00402560
mov byte [ebp - 4], 2
lea ecx, [ebp]
call fcn.00401210
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call fcn.00402560
mov dword [ebp - 4], 0xffffffff
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x424]
xor ecx, ebp
call fcn.00620b8d
add ebp, 0x428
mov esp, ebp
pop ebp
ret