Function at 0x4f9240
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x254
push ebx
push esi
push edi
push 0xf003f
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov edi, ecx
mov dword [ebp - 0x20], 0
push 2
push eax
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], 0
call fcn.004ba620
add esp, 0xc
test eax, eax
jne 0x4f9284
xor esi, esi
jmp 0x4f975c
mov ecx, edi
call fcn.004f3d30
mov ebx, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp eax, 1
je 0x4f92f7
lea eax, [ebp - 0x18]
push eax
call fcn.004ae140
mov edx, eax
add esp, 4
cmp dword [edx + 0x14], 8
jb 0x4f92ac
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
test eax, eax
je 0x4f92e6
mov ecx, edx
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f92c0
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push 0x58f398
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f92f7
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
push 0
lea eax, [ebp - 0x18]
push 0
push eax
call fcn.004b7e30
mov edx, eax
add esp, 0xc
cmp dword [edx + 0x14], 8
jb 0x4f9311
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
test eax, eax
je 0x4f9347
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f9321
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.InstallDir
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f9358
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
push 1
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 0xd
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.QQBrowser.exe
mov word [ecx], ax
call fcn.00408659
lea eax, [ebp - 0x4c]
push eax
call fcn.004ed370
mov ecx, eax
call fcn.004ed3d0
push eax
lea eax, [ebp - 0x18]
push 0
push eax
call fcn.004b7ed0
add esp, 0x10
cmp dword [ebp - 0x38], 8
jb 0x4f93ae
push dword [ebp - 0x4c]
call fcn.00412887
add esp, 4
xor eax, eax
mov dword [ebp - 0x38], 7
mov word [ebp - 0x4c], ax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x3c], 0
cmp eax, 8
jb 0x4f93d3
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x4f940c
jmp 0x4f93d6
lea edx, [ebp - 0x18]
mov ecx, edx
lea esi, [ecx + 2]
jmp 0x4f93e0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f93e0
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push 0x58e230
push dword [ebp - 0x24]
call ebx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x18]
cmp eax, 8
jb 0x4f941a
push edx
call fcn.00412887
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004ae080
mov edx, eax
add esp, 4
cmp dword [edx + 0x14], 8
jb 0x4f9430
mov edx, dword [edx]
test edx, edx
je 0x4f9466
mov ecx, edx
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f9440
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.Version
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f9477
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004ae260
mov edx, eax
add esp, 4
cmp dword [edx + 0x14], 8
jb 0x4f948d
mov edx, dword [edx]
test edx, edx
je 0x4f94bc
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f9496
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.CoreVersion
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f94cd
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
lea eax, [ebp - 0x18]
push eax
call fcn.004b8240
mov edx, eax
add esp, 4
cmp dword [edx + 0x14], 8
jb 0x4f94e3
mov edx, dword [edx]
test edx, edx
je 0x4f9516
mov ecx, edx
lea esi, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f94f0
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.InstallPackagePath
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f9527
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
call sub.KERNEL32.dll_GetSystemDefaultLangID
movzx eax, ax
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004ec280
mov edx, eax
add esp, 8
cmp dword [edx + 0x14], 8
jb 0x4f9546
mov edx, dword [edx]
test edx, edx
je 0x4f9576
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f9550
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.INSTLANG
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f9587
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
call fcn.004ad770
test eax, eax
jne 0x4f9637
lea esi, [edi + 0xc0]
mov ecx, esi
call fcn.004e8b10
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004ec280
mov edx, eax
add esp, 8
cmp dword [edx + 0x14], 8
jb 0x4f95b8
mov edx, dword [edx]
test edx, edx
je 0x4f95e7
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f95c1
sub ecx, edi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.SupplyID
push dword [ebp - 0x24]
call ebx
cmp dword [ebp - 4], 8
jb 0x4f95f8
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
mov ecx, esi
call fcn.004e9380
test al, al
je 0x4f9637
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
call fcn.004e8a80
cmp dword [eax + 0x14], 8
jb 0x4f9616
mov eax, dword [eax]
push 1
push eax
push str.SubSupplyID
lea ecx, [ebp - 0x24]
call fcn.0045f5f2
cmp dword [ebp - 4], 8
jb 0x4f9637
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
push 0
call fcn.00529cf2
mov edi, eax
mov esi, edx
xor eax, eax
mov dword [ebp - 0x34], edi
push 0x206
push eax
mov word [ebp - 0x254], ax
lea eax, [ebp - 0x252]
push eax
mov dword [ebp - 0x30], esi
call fcn.005278d0
push esi
push edi
push 0x590938
lea eax, [ebp - 0x254]
push 0x104
push eax
call fcn.00526652
lea ecx, [ebp - 0x254]
add esp, 0x24
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f9687
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [ebp - 0x254]
push eax
push 1
push 0
push str.InstallTimeStamp
push dword [ebp - 0x24]
call ebx
push str._Y__m__d__H:_M:_S
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x34]
call fcn.0045f73d
mov edx, dword [eax]
test edx, edx
je 0x4f96f6
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4f96d0
sub ecx, esi
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push 1
push 0
push str.InstallTimeStr
push dword [ebp - 0x24]
call ebx
mov edx, dword [ebp - 0x28]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4f9713
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x2c]
lea ecx, [esi + 0xc0]
call fcn.004e94a0
test al, al
jne 0x4f9757
push str.JoinUserExperienceImprovePlan
lea ecx, [ebp - 0x18]
call fcn.00408718
push dword [esi + 0x3f4]
lea eax, [ebp - 0x18]
push eax
push 9
call fcn.004bab30
add esp, 0xc
cmp dword [ebp - 4], 8
jb 0x4f9757
push dword [ebp - 0x18]
call fcn.00412887
add esp, 4
mov esi, 1
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x4f976a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret