Function at 0x41606c
Capabilities:
Set registry value

Disassembly:
push 0x824
mov eax, 0x4aafca
call fcn.00490b7a
mov eax, dword [0x4f4a0c]
mov edi, ecx
mov ebx, 0x4f4a0c
xor esi, esi
mov ecx, ebx
mov dword [ebp - 0x810], esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x808], eax
mov dword [ebp - 4], esi
mov eax, dword [0x4f4a0c]
mov ecx, ebx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x80c], eax
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x808]
push eax
mov byte [ebp - 4], 1
call fcn.00416a26
test eax, eax
jne 0x4160f9
mov eax, dword [ebp - 0x80c]
add eax, 0xfffffff0
mov dword [edi + 4], 0x1f5
call fcn.00404bfa
mov eax, dword [ebp - 0x808]
add eax, 0xfffffff0
call fcn.00404bfa
xor eax, eax
call fcn.00490bd6
ret
xor eax, eax
push 0x206
mov word [ebp - 0x320], ax
lea eax, [ebp - 0x31e]
push esi
push eax
call fcn.0048e0e0
mov ecx, dword [ebp - 0x808]
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
push esi
push esi
mov ebx, 0x1388
push ebx
push 1
push esi
push esi
push esi
xor edx, edx
call fcn.0041ec32
add esp, 0x20
test eax, eax
jne 0x416203
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x208
lea eax, [ebp - 0x320]
push esi
push eax
call fcn.0048e0e0
mov ecx, dword [ebp - 0x808]
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
push esi
push esi
push ebx
push 1
push esi
push esi
push esi
xor edx, edx
call fcn.0041ec32
add esp, 0x20
test eax, eax
jne 0x416203
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0x208
lea eax, [ebp - 0x320]
push esi
push eax
call fcn.0048e0e0
mov ecx, dword [ebp - 0x808]
add esp, 0xc
lea eax, [ebp - 0x320]
push eax
push esi
push esi
push ebx
push 1
push esi
push esi
push esi
xor edx, edx
call fcn.0041ec32
add esp, 0x20
test eax, eax
jne 0x416203
push esi
push esi
push dword [ebp - 0x808]
call fcn.00411991
add esp, 0xc
mov dword [edi + 4], 0x1f6
mov eax, dword [ebp - 0x80c]
add eax, 0xfffffff0
call fcn.00404bfa
mov eax, dword [ebp - 0x808]
add eax, 0xfffffff0
call fcn.00404bfa
mov eax, esi
jmp 0x4160f3
lea eax, [ebp - 0x7f0]
push eax
mov byte [ebp - 4], 2
call fcn.004428f2
lea eax, [ebp - 0x760]
push eax
xor ebx, ebx
mov byte [ebp - 4], 3
call fcn.00444d4a
lea edx, [ebp - 0x320]
lea ecx, [ebp - 0x830]
mov byte [ebp - 4], 4
call fcn.0040b0de
lea ecx, [ebp - 0x760]
push ecx
push eax
lea ebx, [ebp - 0x7f0]
mov byte [ebp - 4], 5
call fcn.0044293b
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x830]
mov byte [ebp - 0x801], al
mov byte [ebp - 4], 4
call fcn.004045ec
cmp byte [ebp - 0x801], bl
je 0x41669b
lea eax, [ebp - 0x760]
call fcn.00445aa6
test al, al
je 0x4166a2
mov edx, str.error
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 1
jne 0x416696
mov ecx, eax
call fcn.0044516d
cmp eax, ebx
jne 0x416696
mov edx, str.version
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 4
jne 0x4166a2
mov eax, dword [eax]
cmp eax, ebx
je 0x4166a2
push eax
lea eax, [ebp - 0x7f4]
push eax
call fcn.004205d2
pop ecx
pop ecx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x7f4]
cmp dword [eax - 0xc], ebx
je 0x41667f
xor eax, eax
cmp ax, word [0x502e50]
jne 0x41630b
call fcn.004018d6
jmp 0x416310
mov eax, 0x502e50
push eax
push dword [ebp - 0x7f4]
call fcn.0041de17
cmp eax, ebx
pop ecx
pop ecx
jle 0x41667f
mov edx, str.secret
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 4
jne 0x416686
mov eax, dword [eax]
cmp eax, ebx
je 0x416686
push eax
lea eax, [ebp - 0x7f8]
push eax
call fcn.004205d2
pop ecx
pop ecx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x7f8]
cmp dword [eax - 0xc], ebx
je 0x41666e
push dword [ebp - 0x80c]
push eax
call fcn.0048912b
pop ecx
pop ecx
test eax, eax
jne 0x416668
mov edx, 0x4c4430
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 4
jne 0x416417
mov eax, dword [eax]
cmp eax, ebx
je 0x416417
push eax
lea eax, [ebp - 0x7fc]
push eax
call fcn.004205d2
pop ecx
pop ecx
mov byte [ebp - 4], 8
mov esi, dword [ebp - 0x7fc]
cmp dword [esi - 0xc], ebx
jne 0x4163c1
lea eax, [esi - 0x10]
jmp 0x416412
xor eax, eax
push 0x206
mov word [ebp - 0x528], ax
lea eax, [ebp - 0x526]
push ebx
push eax
call fcn.0048e0e0
add esp, 0xc
lea eax, [ebp - 0x528]
push eax
push ebx
push ebx
push 0x927c0
push 1
push ebx
push ebx
push ebx
xor edx, edx
mov ecx, esi
call fcn.0041ec32
add esp, 0x20
cmp eax, ebx
jne 0x416422
mov dword [edi + 4], 0x1fa
mov eax, dword [ebp - 0x7fc]
add eax, 0xfffffff0
call fcn.00404bfa
mov eax, dword [ebp - 0x7f8]
jmp 0x416675
mov edx, 0x4c84a8
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 4
jne 0x416409
mov eax, dword [eax]
cmp eax, ebx
je 0x416409
push eax
lea eax, [ebp - 0x800]
push eax
call fcn.004205d2
pop ecx
pop ecx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x800]
cmp dword [eax - 0xc], ebx
jne 0x416466
add eax, 0xfffffff0
call fcn.00404bfa
jmp 0x416409
xor eax, eax
push 0x7e
mov word [ebp - 0x98], ax
lea eax, [ebp - 0x96]
push ebx
push eax
call fcn.0048e0e0
add esp, 0xc
lea edx, [ebp - 0x98]
lea ecx, [ebp - 0x528]
call fcn.00417a52
test eax, eax
jne 0x41649e
mov eax, dword [ebp - 0x800]
jmp 0x41645c
push dword [ebp - 0x800]
lea eax, [ebp - 0x98]
push eax
call fcn.0048912b
pop ecx
pop ecx
test eax, eax
je 0x4164bf
mov dword [edi + 4], 0x1fb
jmp 0x416496
lea esi, [ebp - 0x528]
call fcn.0040d0cb
test eax, eax
jne 0x4164d7
mov dword [edi + 4], 0x1fd
jmp 0x416496
lea eax, [ebp - 0x98]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x4164e0
sub eax, edx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x98]
push eax
push 0x4ddb14
call fcn.0048e160
add esp, 0xc
xor eax, eax
push 0x7e
mov word [ebp - 0x118], ax
lea eax, [ebp - 0x116]
push ebx
push eax
call fcn.0048e0e0
add esp, 0xc
push 0x3f
push 0xf0
lea ebx, [ebp - 0x118]
mov ecx, 0x4ddaf0
call fcn.00417983
pop ecx
pop ecx
test eax, eax
je 0x416496
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x730], ax
lea eax, [ebp - 0x72e]
push eax
call fcn.0048e0e0
add esp, 0xc
push str.Installer
push 0x4fa568
lea eax, [ebp - 0x730]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str.Update.exe
lea eax, [ebp - 0x730]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x528]
push eax
lea ecx, [ebp - 0x730]
call fcn.0041e15d
pop ecx
test eax, eax
jne 0x4165ab
mov dword [edi + 4], 0x1fc
jmp 0x416496
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 4
lea eax, [ebp - 0x814]
push eax
push 4
push str.hasupdate
push str.SoftwareJHotNews
mov ebx, 0x80000001
push ebx
mov dword [ebp - 0x814], 1
call esi
test eax, eax
jne 0x416496
lea eax, [ebp - 0x118]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x4165e9
sub eax, edx
sar eax, 1
add eax, eax
push eax
lea eax, [ebp - 0x118]
push eax
push 1
push str.chkupdate
push str.SoftwareJHotNews
push ebx
call esi
test eax, eax
jne 0x416496
mov edx, 0x4c8598
lea ecx, [ebp - 0x760]
call fcn.004457ba
cmp byte [eax + 8], 1
jne 0x416655
mov ecx, eax
call fcn.0044516d
test eax, eax
je 0x416655
mov ecx, dword [ebp - 0x7f4]
mov eax, dword [ecx - 0xc]
add eax, eax
push eax
push ecx
push 1
push 0x4c859c
push str.SoftwareJHotNews
push ebx
call esi
and dword [edi + 4], 0
mov dword [ebp - 0x810], 1
jmp 0x416496
mov eax, dword [ebp - 0x7f8]
mov dword [edi + 4], 0x1f9
add eax, 0xfffffff0
call fcn.00404bfa
jmp 0x416686
mov dword [edi + 4], 0x1f8
mov eax, dword [ebp - 0x7f4]
add eax, 0xfffffff0
call fcn.00404bfa
jmp 0x4166a2
mov dword [edi + 4], ebx
jmp 0x4166a2
mov dword [edi + 4], 0x1f7
lea ecx, [ebp - 0x760]
mov byte [ebp - 4], 3
call fcn.00444fcd
lea eax, [ebp - 0x7f0]
call fcn.00405f1e
mov esi, dword [ebp - 0x810]
jmp 0x4161e0