Function at 0x54d486
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x568
mov eax, ecx
mov dword [ebp - 0x8c], 7
push ebx
mov dword [ebp - 0x34], eax
push esi
mov eax, dword [eax + 0x24]
push edi
xor edi, edi
dec eax
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x90], edi
sub eax, 1
je 0x54d4c6
sub eax, 1
jne 0x54dbb7
push edi
push 0x11
jmp 0x54d4c9
push edi
push 0xd
lea eax, [ebp - 0x70]
push eax
call fcn.004ca580
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0xa0]
cmp eax, esi
je 0x54d4f4
mov ecx, eax
call fcn.00403730
push esi
lea ecx, [ebp - 0xa0]
call fcn.00444b1d
lea ecx, [ebp - 0x70]
call fcn.00403730
cmp dword [ebp - 0x90], edi
je 0x54dbb7
mov eax, edi
mov esi, edi
mov dword [ebp - 0x14], eax
mov ebx, edi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ebx
cmp dword [eax + 0x68], edi
je 0x54d8f2
add eax, 0x58
mov dword [ebp - 0x88], edi
push eax
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x74], edi
call fcn.00407eca
cmp dword [ebp - 0x74], 8
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x78]
lea edx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
cmovae edx, dword [ebp - 0x88]
push fcn.0059210b
push edx
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0x88]
cmovae ecx, dword [ebp - 0x88]
lea eax, [ebp - 0x10]
push ecx
push eax
call fcn.004cf1f0
add esp, 0x14
mov dword [ebp - 0x10c], edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x108], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
push 0x5c
pop eax
mov word [ebp - 0x110], ax
lea eax, [ebp - 0xa0]
push eax
mov dword [ebp - 0x18], edi
call fcn.00407eca
push 0x5e4b54
call fcn.0057bbea
pop ecx
push eax
push 0x5e4b54
lea ecx, [ebp - 0x2c]
call fcn.004092f8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x568]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.004cf680
test eax, eax
je 0x54d843
mov esi, dword [ebp - 0x34]
add esi, 0x40
mov dword [ebp - 0x10], esi
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x568]
call fcn.004f4120
lea ecx, [ebp - 0x30]
call fcn.0040a5dd
cmp dword [ebp - 0x108], 0
je 0x54d635
lea eax, [ebp - 0x53c]
push eax
call fcn.0057bbea
pop ecx
push eax
lea eax, [ebp - 0x53c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0041ceab
lea ecx, [ebp - 0x30]
call fcn.0041ecd2
push dword [ebp - 0x30]
mov ecx, esi
call fcn.0044d162
test al, al
je 0x54d696
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x58]
push esi
call fcn.00408981
lea eax, [ebp - 0x58]
push eax
cmp ebx, dword [ebp - 0x14]
je 0x54d677
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
call fcn.00444b1d
add ebx, 0x18
mov dword [ebp - 0x3c], ebx
jmp 0x54d689
push ebx
lea ecx, [ebp - 0x40]
call fcn.00444644
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
call fcn.00403730
jmp 0x54d7e6
lea ecx, [ebp - 0x104]
call fcn.0054cd7c
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x70]
push esi
call fcn.00408981
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0054dccb
pop ecx
pop ecx
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.00403730
test edi, edi
je 0x54d7f4
xor edi, edi
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], edi
call fcn.00407eca
cmp dword [ebp - 0x44], 8
lea ecx, [ebp - 0x58]
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x58]
cmovae edx, dword [ebp - 0x58]
push fcn.0059210b
push edx
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0x58]
cmovae ecx, dword [ebp - 0x58]
lea eax, [ebp - 0xa4]
push ecx
push eax
call fcn.004cf1f0
push ecx
mov ecx, esp
lea eax, [ebp - 0x58]
push eax
mov dword [ecx], edi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edi
call fcn.00407eca
lea eax, [ebp - 0x70]
push eax
call fcn.004d0390
add esp, 0x1c
lea ecx, [ebp - 0x88]
push eax
call fcn.0040fc23
lea ecx, [ebp - 0x70]
mov bl, al
call fcn.00403730
test bl, bl
je 0x54d79b
push esi
lea ecx, [ebp - 0x70]
call fcn.00408981
mov ebx, dword [ebp - 0x3c]
lea eax, [ebp - 0x70]
push eax
cmp ebx, dword [ebp - 0x14]
je 0x54d784
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
call fcn.00444b1d
add ebx, 0x18
mov dword [ebp - 0x3c], ebx
jmp 0x54d793
push ebx
lea ecx, [ebp - 0x40]
call fcn.00444644
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x70]
call fcn.00403730
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x54d7d8
mov ecx, dword [ebp - 0x58]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
cmp eax, 0x1000
jb 0x54d7cf
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
push eax
push ecx
call fcn.0056d0c8
pop ecx
pop ecx
mov ebx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x104]
call fcn.0054cf83
cmp dword [ebp - 0x10c], 0
jne 0x54d7f8
mov dword [ebp - 0xc], edi
jmp 0x54d81d
xor edi, edi
jmp 0x54d7db
cmp dword [ebp - 0x108], 0
je 0x54d7ef
lea eax, [ebp - 0x568]
push eax
push dword [ebp - 0x10c]
call dword [sym.imp.KERNEL32.DLL_FindNextFileW]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.0040b785
lea ecx, [esi - 0x10]
call fcn.0040b785
cmp dword [ebp - 0xc], 0
mov esi, dword [ebp - 0x10]
jne 0x54d5f8
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x54d880
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54d877
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056d0c8
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x1c], edi
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x108], edi
test eax, eax
je 0x54d8b2
cmp eax, 0xffffffff
je 0x54d8b2
push eax
call dword [sym.imp.KERNEL32.DLL_FindClose]
mov dword [ebp - 0x10c], edi
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x54d8f2
mov ecx, dword [ebp - 0x88]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54d8e9
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056d0c8
pop ecx
pop ecx
mov eax, ebx
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
test eax, eax
je 0x54db61
mov eax, esi
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x54db5e
call fcn.004dc3c0
cmp eax, 0xb
jl 0x54d9fd
cmp dword [0x634224], 0
je 0x54db4e
cmp dword [0x634228], 8
mov eax, 0x634214
cmovae eax, dword [0x634214]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x54db4e
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 7
cmp dword [eax + 0x24], 2
jne 0x54d96b
mov eax, str.unpin_start
jmp 0x54d97a
cmp dword [eax + 0x24], 3
jne 0x54db4e
mov eax, str.unpin
push eax
mov dword [ebp - 4], eax
call fcn.0057bbea
pop ecx
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x2c]
call fcn.00407684
cmp dword [ebp - 0x1c], 0
je 0x54db11
push 0x60b624
call fcn.0057bbea
pop ecx
push eax
push 0x60b624
lea ecx, [ebp - 0x2c]
call fcn.004092f8
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x54d9bd
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x2c]
push eax
call fcn.004092f8
push 0x60a05c
call fcn.0057bbea
pop ecx
push eax
push 0x60a05c
lea ecx, [ebp - 0x2c]
call fcn.004092f8
lea eax, [ebp - 0x2c]
push eax
push 0x1388
push 0x634214
call fcn.004e7490
add esp, 0xc
jmp 0x54db11
call fcn.004dc3c0
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x24]
cmp eax, 5
jge 0x54da9d
cmp ecx, 2
jne 0x54da5b
push 0x605890
lea ecx, [ebp - 0x2c]
call fcn.00408981
push str.unpin
lea ecx, [ebp - 0x70]
call fcn.00408981
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x70]
push eax
push 0x1388
push esi
call fcn.004e66e0
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00403730
lea ecx, [ebp - 0x2c]
call fcn.00403730
jmp 0x54db4e
cmp ecx, 3
jne 0x54db4e
lea ecx, [ebp - 0xdc]
call fcn.004cf8b0
sub esp, 0x18
mov ecx, esp
push esi
mov dword [ecx], edi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edi
call fcn.00407eca
lea ecx, [ebp - 0xdc]
call fcn.004d60d0
lea ecx, [ebp - 0xdc]
call fcn.004cf960
jmp 0x54db4e
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 7
cmp ecx, 2
jne 0x54dac2
push str.StartUnPin
call fcn.0057bbea
pop ecx
push eax
push str.StartUnPin
jmp 0x54dad8
cmp ecx, 3
jne 0x54dae0
push str.TaskbarUnPin
call fcn.0057bbea
pop ecx
push eax
push str.TaskbarUnPin
lea ecx, [ebp - 0x2c]
call fcn.00407684
cmp dword [ebp - 0x1c], 0
je 0x54db11
push 0x605890
lea ecx, [ebp - 0x70]
call fcn.00408981
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x1388
push esi
call fcn.004e66e0
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00403730
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x54db4e
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
cmp eax, 0x1000
jb 0x54db45
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056d0c8
pop ecx
pop ecx
push 0x18
pop ecx
add esi, ecx
cmp esi, ebx
jne 0x54d911
mov esi, dword [ebp - 0xc]
xor edi, edi
inc edi
test esi, esi
je 0x54dbb7
mov eax, esi
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x54db81
mov ecx, esi
call fcn.00403730
push 0x18
pop ecx
add esi, ecx
cmp esi, ebx
jne 0x54db6e
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
sub eax, esi
mov dword [ebp - 8], esi
cdq
idiv ecx
imul eax, eax, 0x18
mov dword [ebp - 4], eax
cmp eax, 0x1000
jb 0x54dbae
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
pop ecx
pop ecx
push eax
push esi
call fcn.0056d0c8
pop ecx
pop ecx
mov eax, dword [ebp - 0x8c]
cmp eax, 8
jb 0x54dbfa
mov ecx, dword [ebp - 0xa0]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54dbf1
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0040379f
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056d0c8
pop ecx
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ecx + 0x24], 0
je 0x54eb93
cmp dword [ecx + 0x24], 1
jne 0x54d486
jmp fcn.0054d0b5