Function at 0x10021d20
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100aaeb2
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x100d65e8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
push 0xb
push str.DisplayIcon
lea ecx, [ebp - 0x2c]
call fcn.1000f9f0
mov dword [ebp - 4], 1
mov dword [ebp - 0xac], SysStringLen
lea ecx, [ebp - 0xa4]
call fcn.1001d3d0
mov esi, eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
call fcn.1001f7b0
mov byte [ebp - 4], 3
push esi
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.100267f0
mov esi, eax
mov byte [ebp - 4], 4
call fcn.10006050
add esp, 8
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.1002be60
mov byte [ebp - 4], 6
cmp dword [ebp - 0x60], 8
jb 0x10021e09
push dword [ebp - 0x74]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
xor eax, eax
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x78], 8
jb 0x10021e35
push dword [ebp - 0x8c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 8
cmp dword [ebp - 0x90], 8
jb 0x10021e67
push dword [ebp - 0xa4]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x90], 7
mov dword [ebp - 0x94], 0
xor eax, eax
mov word [ebp - 0xa4], ax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x18], 8
jb 0x10021e99
push dword [ebp - 0x2c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0x34], eax
jne 0x10022250
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c], ax
push 0xb
push str.DisplayIcon
lea ecx, [ebp - 0x2c]
call fcn.1000f9f0
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xac], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x5c]
call fcn.1001d3d0
mov esi, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x74]
call fcn.1001f7b0
mov byte [ebp - 4], 0xc
push esi
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.100267f0
mov esi, eax
mov byte [ebp - 4], 0xd
call fcn.10006050
add esp, 8
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1002be60
mov esi, eax
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x10021f70
cmp dword [ebp - 0x30], 8
jb 0x10021f53
push dword [ebp - 0x44]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
xor eax, eax
mov word [ebp - 0x44], ax
push esi
lea ecx, [ebp - 0x44]
call fcn.1000fcf0
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x90], 8
jb 0x10021f8b
push dword [ebp - 0xa4]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x90], 7
mov dword [ebp - 0x94], 0
xor eax, eax
mov word [ebp - 0xa4], ax
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x78], 8
jb 0x10021fc0
push dword [ebp - 0x8c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x60], 8
jb 0x10021fec
push dword [ebp - 0x74]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
xor eax, eax
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x48], 8
jb 0x10022015
push dword [ebp - 0x5c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x18], 8
jb 0x1002203e
push dword [ebp - 0x2c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0x34], eax
jne 0x10022250
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], eax
mov word [ebp - 0x2c], ax
push 0xb
push str.DisplayIcon
lea ecx, [ebp - 0x2c]
call fcn.1000f9f0
mov byte [ebp - 4], 0xf
mov dword [ebp - 0xac], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x74]
call fcn.1001d3d0
mov esi, eax
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x8c]
call fcn.1001fb90
mov byte [ebp - 4], 0x11
push esi
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.100267f0
mov esi, eax
mov byte [ebp - 4], 0x12
call fcn.10006050
add esp, 8
lea eax, [ebp - 0x2c]
push eax
push esi
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.1002be60
mov esi, eax
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x10022115
cmp dword [ebp - 0x30], 8
jb 0x100220f8
push dword [ebp - 0x44]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
xor eax, eax
mov word [ebp - 0x44], ax
push esi
lea ecx, [ebp - 0x44]
call fcn.1000fcf0
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x48], 8
jb 0x1002212a
push dword [ebp - 0x5c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
xor eax, eax
mov word [ebp - 0x5c], ax
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x90], 8
jb 0x10022159
push dword [ebp - 0xa4]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x90], 7
mov dword [ebp - 0x94], 0
xor eax, eax
mov word [ebp - 0xa4], ax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x78], 8
jb 0x1002218e
push dword [ebp - 0x8c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x78], 7
mov dword [ebp - 0x7c], 0
xor eax, eax
mov word [ebp - 0x8c], ax
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x60], 8
jb 0x100221ba
push dword [ebp - 0x74]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x60], 7
mov dword [ebp - 0x64], 0
xor eax, eax
mov word [ebp - 0x74], ax
mov byte [ebp - 4], 9
cmp dword [ebp - 0x18], 8
jb 0x100221e3
push dword [ebp - 0x2c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
cmp dword [ebp - 0x34], eax
jne 0x10022250
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], eax
mov word [edi], ax
push eax
push 0x100bd6c4
mov ecx, edi
call fcn.1000f9f0
mov dword [ebp - 0xa8], 1
mov byte [ebp - 4], 0
cmp dword [ebp - 0x30], 8
jb 0x10022235
push dword [ebp - 0x44]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x30], 7
mov dword [ebp - 0x34], 0
xor eax, eax
mov word [ebp - 0x44], ax
mov eax, edi
jmp 0x100223ed
mov byte [ebp - 4], 0x14
push 0xffffffffffffffff
push 0x100bdb2c
lea ecx, [ebp - 0x44]
call fcn.10025d80
cmp eax, 0xffffffff
je 0x10022290
push eax
push 0
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x44]
call fcn.1001a090
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x44]
call fcn.10004bb0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x5c]
call fcn.100103e0
mov dword [ebp - 4], 9
cmp dword [ebp - 0x34], 0
je 0x100222f8
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x100222f8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
push 0xffffffffffffffff
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000f660
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
mov ebx, 2
jmp 0x10022311
push 0x100bd6c4
lea ecx, [ebp - 0x5c]
call fcn.1000fb40
mov dword [ebp - 4], 0x18
mov ebx, 4
mov dword [ebp - 0xa8], ebx
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
xor ecx, ecx
mov word [edi], cx
push eax
mov ecx, edi
call fcn.1000fcf0
or ebx, 1
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 4], 0x17
test bl, 4
je 0x10022375
and ebx, 0xfffffffb
mov dword [ebp - 0xa8], ebx
cmp dword [ebp - 0x48], 8
jb 0x10022361
push dword [ebp - 0x5c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
xor eax, eax
mov word [ebp - 0x5c], ax
mov dword [ebp - 4], 9
test bl, 2
je 0x10022220
and ebx, 0xfffffffd
mov dword [ebp - 0xa8], ebx
cmp dword [ebp - 0x18], 8
jb 0x1002239f
push dword [ebp - 0x2c]
call fcn.1007d9ed
add esp, 4
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], 0
xor eax, eax
mov word [ebp - 0x2c], ax
jmp 0x10022220
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1007e654
mov esp, ebp
pop ebp
ret