Function at 0x44f6e8
Capabilities:
Check if file exists
Create process on windows
Get common file path
Get file attributes

Disassembly:
push 0x380
mov eax, 0x4b6519
call fcn.004935c5
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x388], eax
lea eax, [ebp - 0x330]
push 3
push eax
call fcn.0047cee7
pop ecx
pop ecx
push 8
xor esi, esi
pop edi
mov dword [ebp - 4], esi
cmp dword [eax + 0x14], edi
jb 0x44f722
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.0047c0c2
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 2
call fcn.0042e109
mov eax, dword [ebp - 0x26c]
cmp dword [ebp - 0x258], edi
jae 0x44f757
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.0047bb65
push str.wtoolx
push eax
lea eax, [ebp - 0x2a4]
push eax
mov byte [ebp - 4], 3
call fcn.0042efad
add esp, 0x14
push eax
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 4
call fcn.0042e4be
push esi
push 1
lea ecx, [ebp - 0x2a4]
call fcn.0042e109
push esi
push 1
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 2
call fcn.0042e109
mov eax, dword [ebp - 0x26c]
cmp dword [ebp - 0x258], edi
jae 0x44f7c1
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x288]
push eax
call fcn.0047bb65
push ebx
push eax
lea eax, [ebp - 0x2a4]
push eax
mov byte [ebp - 4], 5
call fcn.0042efad
add esp, 0x14
push eax
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 6
call fcn.0042e4be
push esi
push 1
lea ecx, [ebp - 0x2a4]
call fcn.0042e109
push esi
push 1
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 2
call fcn.0042e109
mov eax, dword [ebp - 0x26c]
cmp dword [ebp - 0x258], edi
jae 0x44f827
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x2a4]
push eax
call fcn.0047bb65
push str.linkinfo.ini
push eax
lea eax, [ebp - 0x314]
push eax
mov byte [ebp - 4], 7
call fcn.0042efad
add esp, 0x14
push esi
push 1
lea ecx, [ebp - 0x2a4]
mov byte [ebp - 4], 9
call fcn.0042e109
mov eax, dword [ebp - 0x314]
cmp dword [ebp - 0x300], edi
jae 0x44f873
lea eax, [ebp - 0x314]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x44f8a5
xor edi, edi
push esi
push 1
lea ecx, [ebp - 0x314]
call fcn.0042e109
push esi
push 1
lea ecx, [ebp - 0x26c]
call fcn.0042e109
mov eax, edi
call fcn.00493648
ret
mov eax, dword [ebp - 0x314]
cmp dword [ebp - 0x300], edi
jae 0x44f8b9
lea eax, [ebp - 0x314]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.00439420
mov ebx, 0x5000
push ebx
mov edi, 0x4bf8f0
push edi
push str.arguments
mov esi, str.LinkInfo
push esi
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0xa
call fcn.0043a09b
push ebx
push edi
push str.taskbarpin
push esi
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0xb
call fcn.0043a09b
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
mov byte [ebp - 4], 0xc
call fcn.00492b40
add esp, 0xc
push 0
push 0x10
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x234]
push eax
call fcn.0047bb65
push dword [ebp - 0x388]
mov byte [ebp - 4], 0xd
call fcn.00493091
add esp, 0xc
push eax
push dword [ebp - 0x388]
lea ecx, [ebp - 0x234]
call fcn.0042edb8
push str..lnk
call fcn.00493091
pop ecx
push eax
push str..lnk
lea ecx, [ebp - 0x234]
call fcn.0042edb8
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x44f9ad
lea eax, [ebp - 0x234]
push eax
push str.LinkFile___s.
push str.kupdate::KDesktopLink::fixDesktopLink
push 0x2ca
push str.S:_func_improvement_20150701_branchCoding_supportwpsupdateUpdateClientupdateprotocolKProcedureImpl.cpp
push 0
call fcn.0042f683
mov eax, dword [ebp - 0x234]
add esp, 0x18
cmp dword [ebp - 0x220], 8
jae 0x44f9e1
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x44fcbb
push ebx
push edi
push 0x4c6430
push esi
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.0043a09b
push ebx
push edi
push str.description
push esi
lea eax, [ebp - 0x2a4]
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0xe
call fcn.0043a09b
push ebx
push edi
push str.callpath
push esi
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x2dc]
mov byte [ebp - 4], 0xf
call fcn.0043a09b
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0x10
jb 0x44fa53
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x250]
push eax
call fcn.0047cf01
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x368]
mov byte [ebp - 4], 0x12
call fcn.0042e109
cmp dword [ebp - 0x23c], 8
mov eax, dword [ebp - 0x250]
jae 0x44fa8a
lea eax, [ebp - 0x250]
push eax
call fcn.0047b7e8
pop ecx
test al, al
jne 0x44faf3
cmp dword [ebp - 0x23c], 8
mov ecx, dword [ebp - 0x250]
jae 0x44faaa
lea ecx, [ebp - 0x250]
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
jae 0x44fabf
lea eax, [ebp - 0x26c]
push ecx
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.0047c162
add esp, 0xc
push eax
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x13
call fcn.0042e4be
push 0
push 1
lea ecx, [ebp - 0x34c]
mov byte [ebp - 4], 0x12
call fcn.0042e109
push ebx
push edi
push str.iconlocation
push esi
lea eax, [ebp - 0x384]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.0043a09b
mov esi, eax
cmp dword [ebp - 0x258], 8
mov eax, dword [ebp - 0x26c]
mov byte [ebp - 4], 0x14
jae 0x44fb28
lea eax, [ebp - 0x26c]
push eax
lea eax, [ebp - 0x34c]
push eax
call fcn.0047bb65
push esi
push eax
lea eax, [ebp - 0x288]
push eax
mov byte [ebp - 4], 0x15
call fcn.0043006c
add esp, 0x14
xor esi, esi
push esi
push 1
lea ecx, [ebp - 0x34c]
call fcn.0042e109
push esi
push 1
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 0x18
call fcn.0042e109
mov eax, dword [ebp - 0x250]
push 8
pop edi
cmp dword [ebp - 0x23c], edi
jae 0x44fb83
lea eax, [ebp - 0x250]
push eax
call fcn.0047b6a8
pop ecx
test al, al
je 0x44fc4c
mov eax, dword [ebp - 0x288]
cmp dword [ebp - 0x274], edi
jae 0x44fba6
lea eax, [ebp - 0x288]
push eax
call fcn.0047b6a8
pop ecx
test al, al
je 0x44fc4c
mov ebx, dword [ebp - 0x2c0]
cmp dword [ebp - 0x2ac], edi
jae 0x44fbc9
lea ebx, [ebp - 0x2c0]
mov eax, dword [ebp - 0x2a4]
cmp dword [ebp - 0x290], edi
jae 0x44fbdd
lea eax, [ebp - 0x2a4]
cmp dword [ebp - 0x2e4], edi
mov edi, dword [ebp - 0x2f8]
mov dword [ebp - 0x38c], eax
jae 0x44fbf7
lea edi, [ebp - 0x2f8]
cmp dword [ebp - 0x274], 8
mov edx, dword [ebp - 0x288]
jae 0x44fc0c
lea edx, [ebp - 0x288]
cmp dword [ebp - 0x23c], 8
mov ecx, dword [ebp - 0x250]
jae 0x44fc21
lea ecx, [ebp - 0x250]
cmp dword [ebp - 0x31c], 8
mov eax, dword [ebp - 0x330]
jae 0x44fc36
lea eax, [ebp - 0x330]
push esi
push ebx
push dword [ebp - 0x38c]
push edi
push edx
push ecx
push eax
call fcn.0044f39e
add esp, 0x1c
jmp 0x44fc7e
mov eax, dword [ebp - 0x234]
cmp dword [ebp - 0x220], edi
jae 0x44fc60
lea eax, [ebp - 0x234]
push eax
push str.fixTaskbarpinLink_fail__no_icon___s.
push str.kupdate::KDesktopLink::fixDesktopLink
push 0x2d7
push str.S:_func_improvement_20150701_branchCoding_supportwpsupdateUpdateClientupdateprotocolKProcedureImpl.cpp
push esi
call fcn.0042f683
add esp, 0x18
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x288]
call fcn.0042e109
push esi
push edi
lea ecx, [ebp - 0x250]
call fcn.0042e109
push esi
push edi
lea ecx, [ebp - 0x2a4]
call fcn.0042e109
push esi
push edi
lea ecx, [ebp - 0x330]
mov byte [ebp - 4], 0xd
call fcn.0042e109
jmp 0x44fcbd
xor esi, esi
call fcn.0047d76c
cmp dword [ebp - 0x220], 8
mov bl, al
mov eax, dword [ebp - 0x234]
jae 0x44fcd9
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
mov edi, ecx
test bl, bl
je 0x44fe68
cmp edi, esi
je 0x44fe66
push dword [ebp - 0x388]
call fcn.0044f35b
pop ecx
test eax, eax
jne 0x44fe51
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x44fd23
lea eax, [ebp - 0x234]
mov edi, dword [sym.imp.SHELL32.dll_ShellExecuteW]
push esi
push esi
push esi
push eax
push 0x4c7d80
push esi
call edi
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x44fd4a
lea eax, [ebp - 0x234]
push esi
push esi
push esi
push eax
push str.taskbarpin
push esi
call edi
cmp dword [ebp - 0x220], 8
mov eax, dword [ebp - 0x234]
jae 0x44fd6b
lea eax, [ebp - 0x234]
push eax
push str.fixTaskbarpinLink_succeeded___s.
mov edi, str.kupdate::KDesktopLink::fixDesktopLink
push edi
push 0x2eb
mov ebx, str.S:_func_improvement_20150701_branchCoding_supportwpsupdateUpdateClientupdateprotocolKProcedureImpl.cpp
push ebx
push esi
call fcn.0042f683
add esp, 0x18
cmp dword [ebp - 0x2b0], esi
je 0x44fe51
cmp dword [ebp - 0x2ac], 8
mov eax, dword [ebp - 0x2c0]
jae 0x44fdac
lea eax, [ebp - 0x2c0]
push 0x4be6f8
push eax
call fcn.00495444
pop ecx
pop ecx
test eax, eax
jne 0x44fe51
push dword [ebp - 0x388]
lea eax, [ebp - 0x250]
push eax
call fcn.0044f184
pop ecx
pop ecx
cmp dword [ebp - 0x23c], 8
mov eax, dword [ebp - 0x250]
mov byte [ebp - 4], 0x19
jae 0x44fdee
lea eax, [ebp - 0x250]
push eax
push str.getTaskbarPinned___s.
push edi
push 0x2f0
push ebx
push esi
call fcn.0042f683
add esp, 0x18
cmp dword [ebp - 0x240], esi
je 0x44fe3f
cmp dword [ebp - 0x2e4], 8
mov ecx, dword [ebp - 0x2f8]
jae 0x44fe21
lea ecx, [ebp - 0x2f8]
cmp dword [ebp - 0x23c], 8
mov eax, dword [ebp - 0x250]
jae 0x44fe36
lea eax, [ebp - 0x250]
push ecx
push eax
call fcn.0044e0b7
pop ecx
pop ecx
push esi
push 1
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0xd
call fcn.0042e109
push dword [ebp - 0x388]
call fcn.0044f35b
pop ecx
test eax, eax
je 0x44fe66
xor edi, edi
inc edi
jmp 0x44fe68
xor edi, edi
xor ebx, ebx
push esi
inc ebx
push ebx
lea ecx, [ebp - 0x234]
call fcn.0042e109
push esi
push ebx
lea ecx, [ebp - 0x2c0]
call fcn.0042e109
push esi
push ebx
lea ecx, [ebp - 0x2f8]
call fcn.0042e109
push esi
push ebx
lea ecx, [ebp - 0x2dc]
call fcn.0042e109
xor esi, esi
jmp 0x44f881