Function at 0x54b5d3
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 0x549e35
sub eax, 1
jne 0x54a526
push edi
push 0x11
jmp 0x549e38
push edi
push 0xd
lea eax, [ebp - 0x70]
push eax
call fcn.004c08f0
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0xa0]
cmp eax, esi
je 0x549e63
mov ecx, eax
call fcn.00403d40
push esi
lea ecx, [ebp - 0xa0]
call fcn.00444c2a
lea ecx, [ebp - 0x70]
call fcn.00403d40
cmp dword [ebp - 0x90], edi
je 0x54a526
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 0x54a261
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.0040850d
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.00594d9b
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.0045c01c
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.0040850d
push 0x5e9484
call fcn.0057e469
pop ecx
push eax
push 0x5e9484
lea ecx, [ebp - 0x2c]
call fcn.0040993b
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x568]
cmovae eax, dword [ebp - 0x2c]
push eax
call fcn.004c5a20
test eax, eax
je 0x54a1b2
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.004ed810
lea ecx, [ebp - 0x30]
call fcn.0040ade6
cmp dword [ebp - 0x108], 0
je 0x549fa4
lea eax, [ebp - 0x53c]
push eax
call fcn.0057e469
pop ecx
push eax
lea eax, [ebp - 0x53c]
push eax
lea ecx, [ebp - 0x30]
call fcn.0041f5eb
lea ecx, [ebp - 0x30]
call fcn.00421412
push dword [ebp - 0x30]
mov ecx, esi
call fcn.004533c2
test al, al
je 0x54a005
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x58]
push esi
call fcn.00408fc4
lea eax, [ebp - 0x58]
push eax
cmp ebx, dword [ebp - 0x14]
je 0x549fe6
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
call fcn.00444c2a
add ebx, 0x18
mov dword [ebp - 0x3c], ebx
jmp 0x549ff8
push ebx
lea ecx, [ebp - 0x40]
call fcn.00446fa8
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x58]
call fcn.00403d40
jmp 0x54a155
lea ecx, [ebp - 0x104]
call fcn.00549678
mov esi, dword [ebp - 8]
lea ecx, [ebp - 0x70]
push esi
call fcn.00408fc4
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0054a63a
pop ecx
pop ecx
lea ecx, [ebp - 0x70]
mov edi, eax
call fcn.00403d40
test edi, edi
je 0x54a163
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.0040850d
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.00594d9b
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.0045c01c
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.0040850d
lea eax, [ebp - 0x70]
push eax
call fcn.004c6730
add esp, 0x1c
lea ecx, [ebp - 0x88]
push eax
call fcn.0041069a
lea ecx, [ebp - 0x70]
mov bl, al
call fcn.00403d40
test bl, bl
je 0x54a10a
push esi
lea ecx, [ebp - 0x70]
call fcn.00408fc4
mov ebx, dword [ebp - 0x3c]
lea eax, [ebp - 0x70]
push eax
cmp ebx, dword [ebp - 0x14]
je 0x54a0f3
mov ecx, ebx
mov dword [ebx], edi
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], edi
call fcn.00444c2a
add ebx, 0x18
mov dword [ebp - 0x3c], ebx
jmp 0x54a102
push ebx
lea ecx, [ebp - 0x40]
call fcn.00446fa8
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x70]
call fcn.00403d40
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x54a147
mov ecx, dword [ebp - 0x58]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
cmp eax, 0x1000
jb 0x54a13e
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 0xc]
push eax
push ecx
call fcn.0056c61e
pop ecx
pop ecx
mov ebx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x104]
call fcn.0054987f
cmp dword [ebp - 0x10c], 0
jne 0x54a167
mov dword [ebp - 0xc], edi
jmp 0x54a18c
xor edi, edi
jmp 0x54a14a
cmp dword [ebp - 0x108], 0
je 0x54a15e
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.0040bedb
lea ecx, [esi - 0x10]
call fcn.0040bedb
cmp dword [ebp - 0xc], 0
mov esi, dword [ebp - 0x10]
jne 0x549f67
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0xc], esi
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x54a1ef
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54a1e6
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056c61e
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 0x54a221
cmp eax, 0xffffffff
je 0x54a221
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 0x10c], edi
mov eax, dword [ebp - 0x74]
cmp eax, 8
jb 0x54a261
mov ecx, dword [ebp - 0x88]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54a258
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056c61e
pop ecx
pop ecx
mov eax, ebx
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
test eax, eax
je 0x54a4d0
mov eax, esi
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x54a4cd
call fcn.004e1230
cmp eax, 0xb
jl 0x54a36c
cmp dword [0x63d238], 0
je 0x54a4bd
cmp dword [0x63d23c], 8
mov eax, 0x63d228
cmovae eax, dword [0x63d228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x54a4bd
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 0x54a2da
mov eax, str.unpin_start
jmp 0x54a2e9
cmp dword [eax + 0x24], 3
jne 0x54a4bd
mov eax, str.unpin
push eax
mov dword [ebp - 4], eax
call fcn.0057e469
pop ecx
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x2c]
call fcn.00407cc7
cmp dword [ebp - 0x1c], 0
je 0x54a480
push 0x6130d4
call fcn.0057e469
pop ecx
push eax
push 0x6130d4
lea ecx, [ebp - 0x2c]
call fcn.0040993b
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x54a32c
mov eax, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x2c]
push eax
call fcn.0040993b
push 0x6122dc
call fcn.0057e469
pop ecx
push eax
push 0x6122dc
lea ecx, [ebp - 0x2c]
call fcn.0040993b
lea eax, [ebp - 0x2c]
push eax
push 0x1388
push 0x63d228
call fcn.004d1350
add esp, 0xc
jmp 0x54a480
call fcn.004e1230
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0x24]
cmp eax, 5
jge 0x54a40c
cmp ecx, 2
jne 0x54a3ca
push 0x60c5e0
lea ecx, [ebp - 0x2c]
call fcn.00408fc4
push str.unpin
lea ecx, [ebp - 0x70]
call fcn.00408fc4
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x70]
push eax
push 0x1388
push esi
call fcn.004d05a0
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00403d40
lea ecx, [ebp - 0x2c]
call fcn.00403d40
jmp 0x54a4bd
cmp ecx, 3
jne 0x54a4bd
lea ecx, [ebp - 0xdc]
call fcn.004c5c50
sub esp, 0x18
mov ecx, esp
push esi
mov dword [ecx], edi
mov dword [ecx + 0x10], edi
mov dword [ecx + 0x14], edi
call fcn.0040850d
lea ecx, [ebp - 0xdc]
call fcn.004cc470
lea ecx, [ebp - 0xdc]
call fcn.004c5d00
jmp 0x54a4bd
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 7
cmp ecx, 2
jne 0x54a431
push str.StartUnPin
call fcn.0057e469
pop ecx
push eax
push str.StartUnPin
jmp 0x54a447
cmp ecx, 3
jne 0x54a44f
push str.TaskbarUnPin
call fcn.0057e469
pop ecx
push eax
push str.TaskbarUnPin
lea ecx, [ebp - 0x2c]
call fcn.00407cc7
cmp dword [ebp - 0x1c], 0
je 0x54a480
push 0x60c5e0
lea ecx, [ebp - 0x70]
call fcn.00408fc4
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x1388
push esi
call fcn.004d05a0
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00403d40
mov eax, dword [ebp - 0x18]
cmp eax, 8
jb 0x54a4bd
mov ecx, dword [ebp - 0x2c]
lea eax, [eax*2 + 2]
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
cmp eax, 0x1000
jb 0x54a4b4
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056c61e
pop ecx
pop ecx
push 0x18
pop ecx
add esi, ecx
cmp esi, ebx
jne 0x54a280
mov esi, dword [ebp - 0xc]
xor edi, edi
inc edi
test esi, esi
je 0x54a526
mov eax, esi
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x54a4f0
mov ecx, esi
call fcn.00403d40
push 0x18
pop ecx
add esi, ecx
cmp esi, ebx
jne 0x54a4dd
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 0x54a51d
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
pop ecx
pop ecx
push eax
push esi
call fcn.0056c61e
pop ecx
pop ecx
mov eax, dword [ebp - 0x8c]
cmp eax, 8
jb 0x54a569
mov ecx, dword [ebp - 0xa0]
lea eax, [eax*2 + 2]
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp eax, 0x1000
jb 0x54a560
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
call fcn.00403daf
mov eax, dword [ebp - 4]
pop ecx
pop ecx
mov ecx, dword [ebp - 8]
push eax
push ecx
call fcn.0056c61e
pop ecx
pop ecx
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret
cmp dword [ecx + 0x24], 0
je 0x54b5e3
cmp dword [ecx + 0x24], 1
jne 0x549df5
jmp fcn.005499b1