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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x100b7464]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x30], eax
push edi
mov edi, dword [ebp + 0xc]
xor esi, esi
push eax
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1001fda1
test al, 0x50
jne 0x1001fda1
call fcn.1001d7d0
cmp eax, 1
je 0x1001f9df
lea ebx, [esi + 0x7e]
jmp 0x1001fda6
push 0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
push 0
push 2
push 0x400
push dword [ebp - 0x30]
push 1
call dword [0x100b7f80]
mov esi, eax
test esi, esi
jne 0x1001fa1c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x1001fda6
push 0x23f0
call fcn.1001b910
test eax, eax
jne 0x1001fc78
push dword [ebp - 0x30]
call fcn.1001b6d0
test eax, eax
je 0x1001fc78
mov eax, dword [0x100b7f90]
xorps xmm0, xmm0
movq qword [ebp - 0x10], xmm0
mov dword [ebp - 8], ebx
mov dword [ebp - 0x2c], ebx
movups xmmword [ebp - 0x20], xmm0
test eax, eax
jne 0x1001fa71
push eax
push 0x100a27b0
call fcn.1001bb00
mov dword [0x100b7f90], eax
test eax, eax
je 0x1001fb61
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [0x100b7fa4], ebx
jne 0x1001fa99
push 0x100a28c0
push eax
call esi
mov dword [0x100b7fa4], eax
test eax, eax
je 0x1001fb61
mov eax, dword [0x100b7f90]
cmp dword [0x100b7fa8], ebx
jne 0x1001fabb
push 0x100a28d0
push eax
call esi
mov dword [0x100b7fa8], eax
test eax, eax
je 0x1001fb61
mov eax, dword [0x100b7f90]
cmp dword [0x100b7fb0], ebx
jne 0x1001fadd
push 0x100a28e0
push eax
call esi
mov dword [0x100b7fb0], eax
test eax, eax
je 0x1001fb61
mov eax, dword [0x100b7f90]
cmp dword [0x100b7fb4], ebx
jne 0x1001faf6
push 0x100a2900
push eax
call esi
mov dword [0x100b7fb4], eax
test eax, eax
je 0x1001fb61
push 0x80000000
push 0
push 0
call dword [0x100b7fa4]
mov esi, eax
test esi, esi
je 0x1001fb58
push 4
push 0x100a2920
push esi
call dword [0x100b7fa8]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x1001fb51
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [0x100b7fb0]
test eax, eax
je case.default.0x1001fb3a
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffffc
cmp eax, 3
ja case.default.0x1001fb3a
jmp dword [eax*4 + 0x1001fdec]
mov dword [ebp - 0x2c], 1
push dword [ebp - 0x38]
call dword [0x100b7fb4]
push esi
call dword [0x100b7fb4]
cmp dword [ebp - 0x2c], ebx
jne 0x1001fc78
mov eax, dword [ebp - 0x24]
xor edi, edi
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x2c]
push eax
push edi
push edi
push 6
push ebx
call dword [0x100b7f7c]
test eax, eax
jne 0x1001fb94
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1001fc63
push dword [ebp - 0x2c]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
test esi, esi
jne 0x1001fbb9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1001fc63
lea eax, [ebp - 0x2c]
push eax
push esi
push 0
push 6
push ebx
call dword [0x100b7f7c]
test eax, eax
jne 0x1001fbe1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1001fc63
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], ecx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
push 0
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0x110]
push eax
push 0xb0000
push 0
push 0x10001
push dword [ebp - 0x38]
mov dword [ebp - 0x108], ecx
call dword [0x100b7f78]
mov ebx, eax
test ebx, ebx
jne 0x1001fc3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1001fc63
cmp dword [ebp - 0x34], edi
je 0x1001fc53
push ebx
call fcn.1001b660
mov ecx, dword [ebp - 0x34]
push esi
mov dword [ecx], eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1001fc5c
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor edi, edi
push ebx
call dword [0x100b7f74]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
call edi
mov esi, 1
xor ebx, ebx
jmp 0x1001fdac
mov eax, dword [ebp - 0x30]
xorps xmm0, xmm0
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x88]
movlpd qword [ebp - 0x50], xmm0
or dword [ebp - 0x50], 0x1000
push 0x23f0
movlpd qword [ebp - 0x80], xmm0
movlpd qword [ebp - 0x74], xmm0
movlpd qword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x88], 0x10
mov dword [ebp - 0x78], 0x34
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x6c], 2
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x60], eax
call fcn.1001b910
push edi
push dword [ebp - 0x28]
push dword [ebp - 0x24]
test eax, eax
jne 0x1001fd0d
lea eax, [ebp - 0x78]
push eax
call fcn.1001c6e0
mov esi, eax
test esi, esi
jne 0x1001fda6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x1001fda6
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x48], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x78]
movlpd qword [ebp - 0x94], xmm0
push eax
mov dword [ebp - 0xa0], 0x18
mov dword [ebp - 0x98], 3
mov dword [ebp - 0x9c], ebx
call fcn.1001c6e0
mov esi, eax
test esi, esi
jne 0x1001fda6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov edi, 1
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0xc], edi
jb 0x1001fda6
push dword [ebp - 0x34]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 1
mov dword [eax + 4], edi
lea eax, [ebp - 0x78]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push eax
call fcn.1001c6e0
mov esi, eax
test esi, esi
jne 0x1001fda6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
inc edi
mov eax, dword [ebp - 0x48]
cmp edi, dword [eax + 0xc]
jbe 0x1001fd65
jmp 0x1001fda6
mov ebx, 2
mov edi, dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x1001fdbc
push 0
push eax
call dword [0x100b7f70]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x1001fdca
push eax
call dword [0x100b7f6c]
test esi, esi
jne 0x1001fdd1
push ebx
jmp 0x1001fdd3
push 0
call edi
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10053108
mov esp, ebp
pop ebp
ret 8