Function at 0x4014c0
Capabilities:
Accept command line arguments
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xf4
mov eax, dword [0x41007c]
xor eax, esp
mov dword [esp + 0xf0], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
xor ebx, ebx
push ebx
call dword [0x40c120]
lea eax, [esp + 0x10]
push eax
push esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [esp + 0xc], eax
cmp eax, ebx
jne 0x40151c
push str.CommandLineToArgvW_failed_n
call fcn.00402b30
jmp 0x401841
xor edi, edi
cmp dword [esp + 0x10], ebx
jle 0x401844
jmp 0x401536
mov eax, dword [esp + 0xc]
xor ebx, ebx
mov eax, dword [eax + edi*4]
xor ecx, ecx
mov word [esp + 0x24], cx
mov ecx, eax
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], ebx
lea esi, [ecx + 2]
mov dx, word [ecx]
add ecx, 2
cmp dx, bx
jne 0x401551
sub ecx, esi
sar ecx, 1
push ecx
lea ecx, [esp + 0x28]
call fcn.00401dc0
lea ecx, [esp + 0x24]
lea ebx, [esp + 0x14]
call fcn.004018d0
cmp dword [esp + 0x38], 8
jb 0x40158b
mov edx, dword [esp + 0x24]
push edx
call fcn.004026ca
add esp, 4
inc edi
cmp edi, dword [esp + 0x10]
jl 0x401530
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
cmp esi, ebx
je 0x401844
mov eax, dword [esi + 0x10]
mov ecx, eax
mov dword [esp + 0xc], eax
cmp ecx, eax
jae 0x4015b3
mov dword [esp + 0xc], ecx
cmp eax, 0xd
jb 0x4015bd
mov eax, 0xd
cmp dword [esi + 0x14], 8
jb 0x4015c7
mov edx, dword [esi]
jmp 0x4015c9
mov edx, esi
mov edi, eax
mov ecx, str.__delete_icon
test eax, eax
je 0x4015ef
mov ax, word [edx]
cmp ax, word [ecx]
jne 0x4015e7
add edx, 2
add ecx, 2
dec edi
jne 0x4015d4
jmp 0x4015ef
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jne 0x401600
mov eax, dword [esp + 0xc]
cmp eax, 0xd
jb 0x401675
xor ecx, ecx
cmp eax, 0xd
setne cl
test ecx, ecx
jne 0x401675
sub ebx, esi
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 3
jb 0x401844
mov eax, dword [esi + 0x2c]
lea edi, [ecx + 6]
push str.__user
lea ecx, [esi + 0x1c]
lea ebx, [esi + 0x38]
call fcn.00402370
test eax, eax
jne 0x40164a
mov ecx, ebx
xor bl, bl
call fcn.00401050
jmp 0x401844
mov eax, dword [esi + 0x2c]
push str.__sys
mov edi, 5
lea ecx, [esi + 0x1c]
call fcn.00402370
test eax, eax
jne 0x401844
mov ecx, ebx
mov bl, 1
call fcn.00401050
jmp 0x401844
mov eax, dword [esi + 0x10]
push str.__create_link
mov edi, 0xd
mov ecx, esi
call fcn.00402370
test eax, eax
jne 0x40177d
sub ebx, esi
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 4
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
cmp ebx, 2
jb 0x401844
xor ecx, ecx
lea eax, [esi + 0x1c]
push ecx
push eax
or eax, 0xffffffff
lea edi, [esp + 0x48]
mov dword [esp + 0x5c], 7
mov dword [esp + 0x58], 0
mov word [esp + 0x48], cx
call fcn.00401a10
xor edx, edx
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
cmp ebx, 2
jbe 0x40172a
add esi, 0x38
add ebx, 0xfffffffe
mov dword [esp + 0xc], ebx
mov ebx, 1
lea eax, [esp + 0x24]
call fcn.00401d00
push 0
push esi
or eax, 0xffffffff
lea edi, [esp + 0x2c]
call fcn.00401c50
mov eax, edi
call fcn.00401d00
add esi, 0x1c
dec dword [esp + 0xc]
jne 0x4016fd
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x44]
call fcn.00401240
mov esi, 8
add esp, 4
cmp dword [esp + 0x38], esi
jb 0x401753
mov ecx, dword [esp + 0x24]
push ecx
call fcn.004026ca
add esp, 4
xor edx, edx
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], 0
mov word [esp + 0x24], dx
cmp dword [esp + 0x54], esi
jb 0x401844
mov eax, dword [esp + 0x40]
jmp 0x40183b
mov eax, dword [esi + 0x10]
push 0x40e344
mov edi, 0xa
mov ecx, esi
call fcn.00402370
test eax, eax
jne 0x401844
sub ebx, esi
mov eax, 0x92492493
imul ebx
add edx, ebx
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jb 0x401844
xor edx, edx
push edx
add esi, 0x1c
push esi
or eax, 0xffffffff
lea edi, [esp + 0x2c]
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], dx
call fcn.00401a10
mov eax, dword [esp + 0x24]
mov ecx, 0x22
mov esi, str.SoftwareMicrosoftWindowsCurrentVersionShell_ExtensionsApproved
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xb
mov esi, str.360chrome_Icon_Handler
lea edi, [esp + 0x40]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov esi, 8
cmp dword [esp + 0x38], esi
jae 0x401814
lea eax, [esp + 0x24]
push 0x2e
lea ecx, [esp + 0x44]
push ecx
push 1
push eax
lea edx, [esp + 0x80]
push edx
push 0x80000002
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
cmp dword [esp + 0x38], esi
jb 0x401844
mov eax, dword [esp + 0x24]
push eax
call fcn.004026ca
add esp, 4
lea ebx, [esp + 0x14]
call fcn.00401bf0
call dword [0x40c124]
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00402580
mov esp, ebp
pop ebp
ret 0x10