Function at 0x100b1a10
Capabilities:
Check if file exists
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101aeee0
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x101bf2c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x20], eax
cmp byte [eax + 0xc], 0
jne 0x100b1cc3
mov ecx, dword [eax + 8]
lea ebx, [eax + 8]
sub ecx, 0x10
mov dword [ebp - 0x1c], ebx
call fcn.10059350
lea esi, [eax + 0x10]
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0
mov edi, 1
mov eax, dword [esi - 8]
mov ecx, edi
sub ecx, dword [esi - 4]
sub eax, 0x104
or ecx, eax
jge 0x100b1a8d
push 0x104
lea ecx, [ebp - 0x10]
call fcn.1003e290
mov esi, dword [ebp - 0x10]
push esi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
test eax, eax
je 0x100b1acc
test esi, esi
jne 0x100b1aa0
xor ecx, ecx
jmp 0x100b1aba
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100b1aa5
sub ecx, edx
sar ecx, 1
js 0x100b1c54
cmp ecx, dword [esi - 8]
jg 0x100b1c54
xor eax, eax
mov dword [esi - 0xc], ecx
mov word [esi + ecx*2], ax
cmp dword [esi - 0xc], 0
je 0x100b1add
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x100b1b5b
mov eax, dword [esi - 8]
mov ecx, edi
sub ecx, dword [esi - 4]
sub eax, 0x104
or eax, ecx
jge 0x100b1afe
push 0x104
lea ecx, [ebp - 0x10]
call fcn.1003e290
mov esi, dword [ebp - 0x10]
push esi
push 0x105
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x100b1b15
cmp eax, 0x104
jbe 0x100b1b27
push 1
push 0x1001caa0
lea ecx, [ebp - 0x10]
call fcn.1003e2f0
mov esi, dword [ebp - 0x10]
test esi, esi
jne 0x100b1b2f
xor ecx, ecx
jmp 0x100b1b49
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100b1b34
sub ecx, edx
sar ecx, 1
js 0x100b1c54
cmp ecx, dword [esi - 8]
jg 0x100b1c54
xor eax, eax
mov dword [esi - 0xc], ecx
mov word [esi + ecx*2], ax
mov ecx, dword [ebx]
sub ecx, 0x10
call fcn.10059350
lea edi, [eax + 0x10]
mov dword [ebp - 0x14], edi
push 0x5c
push edi
mov byte [ebp - 4], 1
call dword [sym.imp.msvcrt.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x100b1c03
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x100b1c03
mov ecx, dword [edi - 0xc]
xor ebx, ebx
add eax, 1
sets bl
dec ebx
and ebx, eax
mov eax, SysReAllocString
sub eax, ebx
js 0x100b1c54
cmp ebx, ecx
jle 0x100b1bad
mov ebx, ecx
test ebx, ebx
jle 0x100b1c00
sub ecx, ebx
cmp dword [edi - 4], 1
mov dword [ebp - 0x18], ecx
jle 0x100b1bcd
push dword [edi - 0xc]
lea ecx, [ebp - 0x14]
call fcn.1003e180
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx*2 + 2]
push ecx
lea eax, [edi + ebx*2]
push eax
push ecx
push edi
call dword [sym.imp.msvcrt.dll_memmove_s]
add esp, 0x10
mov ecx, eax
call fcn.1003df10
mov eax, dword [ebp - 0x18]
test eax, eax
js 0x100b1c54
cmp eax, dword [edi - 8]
jg 0x100b1c54
xor ecx, ecx
mov dword [edi - 0xc], eax
mov word [edi + eax*2], cx
mov ebx, dword [ebp - 0x1c]
cmp dword [edi - 0xc], 0
jne 0x100b1c1b
push 3
push 0x1001caa4
lea ecx, [ebp - 0x14]
call fcn.1003e2f0
mov edi, dword [ebp - 0x14]
mov ecx, dword [ebx]
mov edx, 1
mov eax, dword [ecx - 8]
sub edx, dword [ecx - 4]
sub eax, 0x104
or edx, eax
jge 0x100b1c3f
push 0x104
mov ecx, ebx
call fcn.1003e290
mov ecx, dword [ebx]
push ecx
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
jne 0x100b1c5f
call dword [sym.imp.PhotoBase.dll_void___stdcall_Base::ThrowLastError_void_]
push 0x80070057
call dword [sym.imp.PhotoBase.dll_void___stdcall_ATL::BaseAtlThrow_long_int_]
push ecx
mov ecx, ebx
call fcn.100b19c0
mov eax, dword [ebp - 0x20]
or ecx, 0xffffffff
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov byte [eax + 0xc], 1
mov eax, ecx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x100b1c9b
mov ebx, dword [edi]
push edi
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x101c43b0]
mov ecx, ebx
call edi
or ecx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x100b1cc3
mov edi, dword [esi]
push esi
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x101c43b0]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret