Function at 0x1001f610
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
xorps xmm0, xmm0
push esi
mov esi, dword [ebp + 0xc]
movups xmmword [esi], xmm0
movups xmmword [esi + 0x10], xmm0
movq qword [esi + 0x20], xmm0
test ecx, ecx
je 0x1001f662
cmp ecx, 0xffffffff
je 0x1001f662
lea edx, [ebp - 0x104]
sub edx, ecx
nop word [eax + eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x1001f650
jmp 0x1001f71a
push ebx
call fcn.100c3b5c
push 0x100
lea ecx, [ebp - 0x104]
push ecx
mov eax, dword [eax + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x104]
push 0x5c
push eax
call fcn.102a1020
inc eax
push eax
call fcn.1001f970
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
lea eax, [ebp - 0x104]
add esp, 0xc
push eax
call ebx
cmp eax, 0xffffffff
jne 0x1001f719
push edi
lea eax, [ebp - 0x104]
push 0x5c
push eax
call fcn.102a1020
mov edi, eax
add esp, 8
test edi, edi
je 0x1001f6fb
lea eax, [ebp - 0x104]
mov byte [edi], 0
push 0x5c
push eax
call fcn.102a1020
mov edx, eax
add esp, 8
test edx, edx
je 0x1001f6fb
lea ecx, [edi + 1]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx], al
test al, al
jne 0x1001f6e1
lea eax, [ebp - 0x104]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x1001f718
lea eax, [ebp - 0x104]
push eax
call ebx
cmp eax, 0xffffffff
jne 0x1001f718
lea eax, [ebp - 0x104]
push eax
call fcn.1001f970
add esp, 4
pop edi
pop ebx
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
mov dword [esi], ecx
test ecx, ecx
jne 0x1001f75c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.1001f890
push esi
call fcn.1001f870
add esp, 0xc
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret
lea eax, [esi + 4]
push eax
push str.LDNF_GenerateLDNoiseFilter
push ecx
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 8]
push eax
push str.LDNF_ApplyLDNoiseFilter
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0xc]
push eax
push str.MLR_MaskLineRemoval
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x10]
push eax
push str.LDCF_LineDefectCorrection
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x14]
push eax
push str.LDCF_ROICDefectCorrection
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x18]
push eax
push str.GPR_Allocation
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x1c]
push eax
push str.GPR_Free
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x20]
push eax
push str.GPR_ApplyGPRFilter
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
lea eax, [esi + 0x24]
push eax
push str.GPR_LoadGPRFilter
push dword [esi]
call fcn.1001f990
add esp, 0xc
test eax, eax
je 0x1001f84e
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret
push esi
call fcn.1001f870
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
xor eax, eax
pop esi
call fcn.10291e04
mov esp, ebp
pop ebp
ret