Function at 0x1000eb60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a26e1
mov eax, dword fs:[0]
push eax
sub esp, 0x298
mov eax, dword [0x100d00b4]
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 esi, edx
mov ebx, ecx
xor edi, edi
test esi, esi
je 0x1000f1fe
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000f1fe
push 0x208
lea eax, [ebp - 0x21c]
push edi
push eax
call fcn.1006fa00
add esp, 0xc
lea eax, [ebp - 0x21c]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x21c]
push 0x5c
push eax
call fcn.1006f1e3
add esp, 8
test eax, eax
je 0x1000ebf1
xor ecx, ecx
lea edi, [eax + 2]
mov word [eax], cx
lea esi, [ebp - 0x21c]
push 0
lea eax, [ebp - 0x270]
mov dword [ebp - 0x270], 0
push eax
push ebx
push 0x100bb444
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x1000f1fa
mov ecx, dword [ebp - 0x270]
test ecx, ecx
je 0x1000f1fa
push eax
xor edx, edx
mov dword [ebp - 0x220], 7
push ecx
lea ecx, [ebp - 0x234]
mov dword [ebp - 0x224], 0
mov word [ebp - 0x234], dx
call fcn.10009090
mov dword [ebp - 4], 0
mov dword [ebp - 0x26c], 0
lea eax, [ebp - 0x26c]
push eax
push 0x100bb494
push 0x17
push 0
push 0x100aa888
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jns 0x1000ec8e
xor bl, bl
jmp 0x1000f1d7
mov eax, 3
mov dword [ebp - 0x29c], 0
mov word [ebp - 0x2a4], ax
mov word [ebp - 0x294], ax
mov dword [ebp - 0x28c], 0
mov dword [ebp - 0x238], 0
lea edx, [ebp - 0x238]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x26c]
push edx
push 1
lea edx, [ebp - 0x274]
mov dword [ebp - 0x274], 0
mov ecx, dword [eax]
push edx
push 8
lea edx, [ebp - 0x294]
push edx
lea edx, [ebp - 0x2a4]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jns 0x1000ed04
xor bl, bl
jmp 0x1000f1ab
mov dword [ebp - 0x268], 0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x268]
mov eax, dword [ebp - 0x238]
push edx
push 0x100aa878
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x1000ed34
xor bl, bl
jmp 0x1000f197
mov dword [ebp - 0x264], 0
mov byte [ebp - 4], 6
lea edx, [ebp - 0x264]
mov eax, dword [ebp - 0x268]
push edx
push 0x100aa868
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x1000ed64
xor bl, bl
jmp 0x1000f183
mov dword [ebp - 0x260], 0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x260]
mov eax, dword [ebp - 0x264]
push edx
push 0x100aa7f8
push 0x100aa818
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x1000ed9a
xor bl, bl
jmp 0x1000f16f
mov dword [ebp - 0x25c], 0
mov byte [ebp - 4], 8
lea edx, [ebp - 0x25c]
mov eax, dword [ebp - 0x260]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x1000f159
mov ecx, dword [ebp - 0x238]
test ecx, ecx
je 0x1000eddd
mov dword [ebp - 0x238], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x25c]
lea edx, [ebp - 0x238]
push edx
push 0x100aa858
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x3c]
test eax, eax
js 0x1000f159
mov dword [ebp - 0x258], 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x258]
mov eax, dword [ebp - 0x238]
push edx
push 0x100aa838
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
js 0x1000f141
mov ecx, dword [ebp - 0x238]
test ecx, ecx
je 0x1000ee46
mov dword [ebp - 0x238], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x258]
lea edx, [ebp - 0x238]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x1000f141
mov dword [ebp - 0x254], 0
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x254]
mov eax, dword [ebp - 0x238]
push edx
push 0x100aa848
push eax
mov ecx, dword [eax]
call dword [ecx]
test eax, eax
jns 0x1000ee91
xor bl, bl
jmp 0x1000f0ec
mov dword [ebp - 0x250], 0
xor eax, eax
mov byte [ebp - 4], 0xb
push esi
lea ecx, [ebp - 0x284]
mov word [ebp - 0x284], ax
call fcn.1000e120
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x250]
mov eax, dword [ebp - 0x254]
movups xmm0, xmmword [ebp - 0x284]
push ecx
sub esp, 0x10
mov edx, dword [eax]
mov ecx, esp
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x24]
mov esi, eax
lea eax, [ebp - 0x284]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test esi, esi
jns 0x1000eef4
xor bl, bl
jmp 0x1000f0d8
mov dword [ebp - 0x24c], 0
mov byte [ebp - 4], 0xd
mov ebx, dword [ebp - 0x250]
test edi, edi
jne 0x1000ef3c
xor esi, esi
mov dword [ebp - 0x240], esi
lea ecx, [ebp - 0x24c]
mov byte [ebp - 4], 0xe
mov eax, dword [ebx]
push ecx
push esi
push ebx
call dword [eax + 0x30]
push esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, eax
call esi
test edi, edi
jns 0x1000ef59
xor bl, bl
jmp 0x1000f0c4
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, eax
mov dword [ebp - 0x240], esi
test esi, esi
jne 0x1000ef14
push 0x8007000e
call fcn.1000e070
mov dword [ebp - 0x244], 0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x244]
mov eax, dword [ebp - 0x24c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
js 0x1000f0ae
mov eax, dword [ebp - 0x244]
lea edx, [ebp - 0x248]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
js 0x1000f0ae
xor edi, edi
cmp dword [ebp - 0x248], edi
jle 0x1000f0ae
nop dword [eax + eax]
mov dword [ebp - 0x23c], 0
mov eax, 3
mov dword [ebp - 0x27c], edi
mov word [ebp - 0x284], ax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x23c]
mov eax, dword [ebp - 0x244]
movups xmm0, xmmword [ebp - 0x284]
push ecx
sub esp, 0x10
mov edx, dword [eax]
mov ecx, esp
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
test eax, eax
lea eax, [ebp - 0x284]
push eax
sets bl
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test bl, bl
jne 0x1000f08d
mov dword [ebp - 0x240], 0
mov byte [ebp - 4], 0x12
lea edx, [ebp - 0x240]
mov eax, dword [ebp - 0x23c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x1000f039
push dword [ebp - 0x240]
jmp 0x1000f08b
cmp dword [ebp - 0x220], 8
lea ecx, [ebp - 0x234]
mov eax, dword [ebp - 0x240]
mov edx, eax
cmovae ecx, dword [ebp - 0x234]
mov si, word [edx]
cmp si, word [ecx]
jne 0x1000f07b
test si, si
je 0x1000f077
mov si, word [edx + 2]
cmp si, word [ecx + 2]
jne 0x1000f07b
add edx, 4
add ecx, 4
test si, si
jne 0x1000f055
xor ecx, ecx
jmp 0x1000f080
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1000f102
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call esi
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x1000f0a1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc edi
cmp edi, dword [ebp - 0x248]
jl 0x1000efb0
xor bl, bl
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x1000f0c4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x1000f0d8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x1000f0ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x254]
test eax, eax
je 0x1000f143
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1000f143
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push dword [ebp - 0x240]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x1000f12e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp edi, dword [ebp - 0x248]
jge 0x1000f0ae
mov bl, 1
jmp 0x1000f0b0
xor bl, bl
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x258]
test eax, eax
je 0x1000f15b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x1000f15b
xor bl, bl
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x25c]
test eax, eax
je 0x1000f16f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x260]
test eax, eax
je 0x1000f183
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x1000f197
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x268]
test eax, eax
je 0x1000f1ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x1000f1bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x294]
push eax
call esi
lea eax, [ebp - 0x2a4]
push eax
call esi
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x26c]
test ecx, ecx
je 0x1000f1eb
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
lea ecx, [ebp - 0x234]
call fcn.10008e80
mov al, bl
jmp 0x1000f200
xor al, al
jmp 0x1000f200
mov al, 1
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.1006c262
mov esp, ebp
pop ebp
ret