Function at 0x10027df0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004f049
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x10067068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
lea ecx, [ebp - 0xf8]
push ecx
lea edx, [ebp - 0xfc]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov dword [ebp - 0x100], eax
mov eax, dword [ebp + 0xc]
push ebx
push eax
mov dword [ebp - 0x114], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
cmp eax, ebx
jne 0x100285ca
mov edi, 7
xor eax, eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x38], ebx
mov word [ebp - 0x48], ax
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0xfc]
inc ecx
cmp ecx, ebx
ja 0x10027e84
or eax, 0xffffffff
lea esi, [ebp - 0x48]
call fcn.1000d050
jmp 0x10027e94
push ebx
mov eax, ecx
lea edi, [ebp - 0x48]
call fcn.10016e20
mov edi, 7
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xf8]
lea esi, [ebp - 0xd8]
call fcn.10028df0
xor ecx, ecx
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa8], ebx
mov word [ebp - 0xb8], cx
xor edx, edx
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x8c], ebx
mov word [ebp - 0x9c], dx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov byte [ebp - 4], 3
mov esi, dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
push 0x30
mov dword [ebp - 0xec], ebx
call esi
add esp, 4
cmp eax, ebx
je 0x100286df
mov dword [ebp - 0xf0], eax
mov dword [eax], eax
mov eax, dword [ebp - 0xf0]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0xf0]
mov dword [eax + 8], eax
mov eax, dword [ebp - 0xf0]
mov byte [eax + 0x2c], 1
mov ecx, dword [ebp - 0xf0]
mov byte [ecx + 0x2d], 1
mov byte [ebp - 4], 4
push 0x30
mov dword [ebp - 0xc0], ebx
call esi
add esp, 4
cmp eax, ebx
je 0x100286ab
mov dword [ebp - 0xc4], eax
mov dword [eax], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 4], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], eax
mov edx, dword [ebp - 0xc4]
mov byte [edx + 0x2c], 1
mov eax, dword [ebp - 0xc4]
mov byte [eax + 0x2d], 1
mov byte [ebp - 4], 5
xor ecx, ecx
push 0xa
mov eax, str.script_url
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 6
call fcn.10028e50
lea edx, [ebp - 0xb8]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x10027fec
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xe
mov eax, str.hide_selectors
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 7
call fcn.10028e50
lea edx, [ebp - 0x9c]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x10028037
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xb
mov eax, str.max_top_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 8
call fcn.10028e50
lea edx, [ebp - 0x60]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x1002807f
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xb
mov eax, str.min_top_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 9
call fcn.10028e50
lea edx, [ebp - 0x54]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x100280c7
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xe
mov eax, str.max_bottom_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xa
call fcn.10028e50
lea edx, [ebp - 0x58]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x1002810f
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xe
mov eax, str.min_bottom_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xb
call fcn.10028e50
lea edx, [ebp - 0x4c]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x10028157
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xd
mov eax, str.max_right_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xc
call fcn.10028e50
lea edx, [ebp - 0x5c]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x1002819f
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ecx, ecx
push 0xd
mov eax, str.min_right_ads
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov word [ebp - 0x2c], cx
call fcn.1000cf60
mov edx, esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xd
call fcn.10028e50
lea edx, [ebp - 0x50]
mov dword [eax], edx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x100281e7
mov eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [ebp - 0xe4], ebx
lea ecx, [ecx]
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0x48]
inc ecx
cmp dword [ebp - 0x34], 8
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x110], edx
jae 0x10028215
lea eax, [ebp - 0x48]
mov edx, dword [ebp - 0xd8]
lea ecx, [ebp - 0x110]
push ecx
push edx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp - 0x114]
push 0
lea edx, [ebp - 0x118]
push edx
push eax
mov eax, dword [ebp - 0xe4]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov ebx, eax
test ebx, ebx
jne 0x100284e6
mov eax, dword [ebp - 0x10c]
cmp eax, 4
jne 0x10028333
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x1002826d
lea eax, [ebp - 0x48]
xor edx, edx
mov ecx, eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
mov word [ebp - 0x2c], dx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x10028286
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x2c]
call fcn.1000cf60
mov eax, esi
push eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x10
call fcn.100293d0
mov dword [ebp - 0x104], eax
cmp eax, dword [ebp - 0xc4]
je 0x100282e4
mov edi, dword [eax + 0x1c]
add eax, 0xc
cmp dword [eax + 0x14], 8
jb 0x100282cc
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x2c]
call fcn.1000f850
test eax, eax
js 0x100282e4
lea eax, [ebp - 0x104]
jmp 0x100282f6
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x108], ecx
lea eax, [ebp - 0x108]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc4]
je 0x1002830d
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax]
mov dword [edx], ecx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 8
jb 0x100284db
mov edx, dword [ebp - 0x2c]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
inc dword [ebp - 0xe4]
jmp 0x100281f0
cmp eax, 1
jne 0x100284db
mov eax, dword [ebp - 0x48]
mov esi, 8
cmp dword [ebp - 0x34], esi
jae 0x1002834c
lea eax, [ebp - 0x48]
mov edi, dword [sym.imp.MSVCR100.dll__wcsicmp]
push str.script_url
push eax
call edi
add esp, 8
test eax, eax
jne 0x10028396
mov eax, dword [ebp - 0xd8]
mov ecx, eax
lea esi, [ecx + 2]
lea esp, [esp]
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x10028370
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0xb8]
call fcn.1000cf60
inc dword [ebp - 0xe4]
jmp 0x100281f0
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x34], esi
jae 0x100283a1
lea eax, [ebp - 0x48]
push str.hide_selectors
push eax
call edi
add esp, 8
test eax, eax
jne 0x100283e6
mov eax, dword [ebp - 0xd8]
mov ecx, eax
lea esi, [ecx + 2]
jmp 0x100283c0
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x100283c0
sub ecx, esi
sar ecx, 1
push ecx
lea esi, [ebp - 0x9c]
call fcn.1000cf60
inc dword [ebp - 0xe4]
jmp 0x100281f0
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
cmp ebx, esi
jae 0x100283f3
lea eax, [ebp - 0x48]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100283f6
sub eax, edx
sar eax, 1
cmp eax, 4
jb 0x10028462
mov eax, dword [ebp - 0x48]
cmp ebx, esi
jae 0x10028414
lea eax, [ebp - 0x48]
xor ecx, ecx
mov word [eax + 8], cx
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x34], esi
jae 0x10028425
lea eax, [ebp - 0x48]
push str.type
push eax
call edi
add esp, 8
test eax, eax
jne 0x10028462
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0x2c]
call fcn.1000a3a0
lea ecx, [ebp - 0x2c]
lea ebx, [ebp - 0x80]
mov byte [ebp - 4], 0x11
call fcn.10028aa0
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.100187d0
mov esi, 8
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x48]
cmp ebx, esi
jae 0x1002846f
lea eax, [ebp - 0x48]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10028472
sub eax, edx
sar eax, 1
cmp eax, 4
jb 0x100284db
mov eax, dword [ebp - 0x48]
cmp ebx, 8
jae 0x10028491
lea eax, [ebp - 0x48]
xor edx, edx
mov word [eax + 8], dx
cmp dword [ebp - 0x34], 8
mov eax, dword [ebp - 0x48]
jae 0x100284a3
lea eax, [ebp - 0x48]
push str.page
push eax
call edi
add esp, 8
test eax, eax
jne 0x100284db
mov eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0x2c]
call fcn.1000a3a0
lea ecx, [ebp - 0x2c]
lea ebx, [ebp - 0x70]
mov byte [ebp - 4], 0x12
call fcn.10028aa0
lea esi, [ebp - 0x2c]
mov byte [ebp - 4], 5
call fcn.100187d0
inc dword [ebp - 0xe4]
jmp 0x100281f0
cmp ebx, 0x103
jne 0x100285e8
mov ebx, dword [ebp - 0x100]
add ebx, 0x44
lea ecx, [ebp - 0xb8]
call fcn.10028d00
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0xe0]
lea esi, [ebp - 0xc8]
call fcn.10029480
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0xc4]
mov ebx, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
push eax
call ebx
add esp, 4
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0xdc]
lea esi, [ebp - 0xf4]
call fcn.10029480
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0xf0]
push ecx
call ebx
add esp, 4
lea edx, [ebp - 0xb8]
push edx
mov byte [ebp - 4], 1
call fcn.10014790
xor esi, esi
mov byte [ebp - 4], 0
cmp dword [ebp - 0xd8], esi
je 0x100285a0
lea ecx, [ebp - 0xd8]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::_Container_base0::_Orphan_all_void_]
mov eax, dword [ebp - 0xd8]
push eax
call ebx
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x34], 8
mov dword [ebp - 0xd8], esi
mov dword [ebp - 0xd4], esi
mov dword [ebp - 0xd0], esi
jb 0x100285c8
mov ecx, dword [ebp - 0x48]
push ecx
call ebx
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10048188
mov esp, ebp
pop ebp
ret 8
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0xe0]
lea esi, [ebp - 0xc8]
call fcn.10029480
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xc4]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [ebp - 0xdc]
lea esi, [ebp - 0xf4]
call fcn.10029480
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0xf0]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [ebp - 0xb8]
push ecx
mov byte [ebp - 4], 1
call fcn.10014790
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xd8]
test eax, eax
je 0x10028676
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor eax, eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x34], 8
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], eax
jb 0x100286a4
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, ebx
jmp 0x100285ca
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0x130]
mov dword [ebp - 0xe0], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x1005f2c8
lea ecx, [ebp - 0x130]
push ecx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea edx, [ebp - 0xdc]
push edx
lea ecx, [ebp - 0x124]
mov dword [ebp - 0xdc], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x1005f2c8
lea eax, [ebp - 0x124]
push eax
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3