Function at 0x18029dc1
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x180fd00c]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x48], ebx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], edi
lea eax, [edi + 4]
push eax
call fcn.18011b0a
and dword [ebp - 0x3c], 0
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x40], 0x180e49a8
push eax
mov ecx, ebx
mov dword [ebp - 0x38], 0x200
call fcn.1802dfe9
push eax
mov ecx, edi
call fcn.180292d1
mov esi, eax
test esi, esi
js 0x1802a0e6
xor esi, esi
push esi
push esi
push esi
push esi
push str.ping_freshness
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0x18029e78
mov esi, 0x180d9410
lea edi, [ebp - 0x18]
lea eax, [ebp - 0x18]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.ole32.dll_CoCreateGuid]
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0x2c]
call fcn.18008e1d
push 1
lea ecx, [ebp - 0x40]
push dword [eax]
push str.ping_freshness
call fcn.1801287c
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.18003140
mov edi, dword [ebp - 0x44]
xor esi, esi
mov ecx, ebx
call fcn.1802e05d
mov ecx, ebx
test al, al
je 0x18029e9e
lea eax, [ebp - 0x2c]
push eax
call fcn.1802dfb2
mov cl, byte [edi]
mov edx, eax
call fcn.180716c8
mov ecx, dword [ebp - 0x2c]
mov esi, eax
jmp 0x18029ef3
lea eax, [ebp - 0x18]
push eax
call fcn.1802dfe9
push eax
mov ecx, edi
call fcn.18028f35
test al, al
jne 0x18029f03
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.1802dfb2
mov dl, byte [edi]
lea ecx, [ebp - 0x4c]
push eax
call fcn.1807159c
pop ecx
push esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
push ecx
mov ecx, dword [eax]
mov edx, str.eulaaccepted
push 4
call fcn.1801229b
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
mov esi, eax
lea ecx, [ecx - 0x10]
call fcn.18003140
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.18003140
test esi, esi
js 0x1802a0e6
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.1802e020
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
mov esi, dword [eax - 0xc]
call fcn.18003140
test esi, esi
je 0x18029f49
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.1802e020
push 1
lea ecx, [ebp - 0x40]
push dword [eax]
push str.lang
call fcn.1801287c
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.18003140
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.1802e604
mov ecx, dword [ebp - 0x30]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
mov esi, dword [eax - 0xc]
call fcn.18003140
test esi, esi
jne 0x18029f77
push 0x180e7e68
lea ecx, [ebp - 0x40]
call fcn.18012010
jmp 0x18029f9e
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.1802e604
push 1
lea ecx, [ebp - 0x40]
push dword [eax]
push 0x180e7e68
call fcn.1801287c
mov ecx, dword [ebp - 0x30]
lea ecx, [ecx - 0x10]
call fcn.18003140
lea eax, [ebp - 0x28]
mov ecx, ebx
push eax
call fcn.1802dfe9
push eax
lea eax, [ebp - 0x50]
mov ecx, edi
push eax
call fcn.18029222
lea esi, [ebx + 8]
mov eax, dword [esi]
xchg dword [esi], eax
add eax, 4
lea ecx, [ebp - 0x34]
push eax
call fcn.18011b0a
mov ecx, dword [ebp - 0x34]
mov ebx, dword [ebx + 0xb4]
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [esi]
xchg dword [esi], eax
add eax, 4
lea ecx, [ebp - 0x10]
push eax
call fcn.18011b0a
mov esi, dword [ebp - 0x48]
mov ecx, dword [esi + 0x88]
sub ecx, 0x10
call fcn.180060dc
mov ecx, dword [ebp - 0x10]
lea edi, [eax + 0x10]
mov eax, dword [ecx]
mov dword [ebp - 0x30], edi
call dword [eax + 8]
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.1802e279
mov ecx, dword [ebp - 0x48]
mov esi, eax
lea eax, [ebp - 0x4c]
push eax
call fcn.1802e3bb
push ebx
lea ecx, [ebp - 0x30]
mov edx, eax
push ecx
push esi
lea ecx, [ebp - 0x50]
call fcn.180719ea
mov ecx, dword [ebp - 0x4c]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.18003140
mov ecx, dword [ebp - 0x2c]
lea ecx, [ecx - 0x10]
call fcn.18003140
lea ecx, [edi - 0x10]
call fcn.18003140
mov edi, dword [ebp - 0x44]
mov cl, byte [edi]
call fcn.1806163c
test al, al
je 0x1802a071
push 1
push 0x180e6fa4
push str.oeminstall
lea ecx, [ebp - 0x40]
call fcn.1801287c
mov ebx, dword [ebp - 0x48]
mov ecx, ebx
call fcn.1802e35f
test eax, eax
jne 0x1802a08e
push str.browser
lea ecx, [ebp - 0x40]
call fcn.18012010
jmp 0x1802a0a3
mov ecx, ebx
call fcn.1802e35f
push eax
push str.browser
lea ecx, [ebp - 0x40]
call fcn.1801282a
mov ecx, ebx
call fcn.1802e38d
cmp eax, 2
je 0x1802a0d9
mov ecx, ebx
call fcn.1802e38d
mov esi, eax
mov ecx, ebx
lea eax, [ebp - 0x44]
push eax
call fcn.1802dfb2
mov cl, byte [edi]
mov edx, eax
push esi
call fcn.180717e2
pop ecx
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.18003140
mov ecx, dword [ebp - 0x50]
xor esi, esi
lea ecx, [ecx - 0x10]
call fcn.18003140
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0x180e49a8
je 0x1802a107
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0x200
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [ebp - 8]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.180a61d8
leave
ret 4