Function at 0x1002dbc0
Capabilities:
Check if file exists
Get file size

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100ad531
mov eax, dword fs:[0]
push eax
sub esp, 0x3d8
mov eax, dword [0x100d65e8]
xor eax, esp
mov dword [esp + 0x3d0], eax
push ebx
push esi
push edi
mov eax, dword [0x100d65e8]
xor eax, esp
push eax
lea eax, [esp + 0x3e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.10038d60
mov dword [esp + 0x3f0], 0
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor bl, bl
cmp dword [esi + 0x10], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0x493e0
mov dword [esp + 0x1c4], 0x7530
mov dword [esp + 0x1c8], 0x7530
je 0x1002dda8
cmp dword [esi + 0x14], 8
jb 0x1002dc64
mov eax, dword [esi]
jmp 0x1002dc66
mov eax, esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
je 0x1002dda8
xor ebx, ebx
cmp dword [esi + 0x14], 8
jb 0x1002dc87
mov eax, dword [esi]
jmp 0x1002dc89
mov eax, esi
push 0
push 0x80
push 3
push 0
push 1
push 8
push eax
call edi
mov edi, eax
cmp edi, 0xffffffff
je 0x1002dcb4
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push edi
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x1dc], ax
lea eax, [esp + 0x1de]
push eax
call fcn.1007f340
add esp, 0xc
lea eax, [esp + 0x1d4]
push ebx
push str.Range:_bytes:_d__r_n
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
xor eax, eax
add esp, 0xc
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
cmp word [esp + 0x1d4], ax
jne 0x1002dd20
xor ecx, ecx
jmp 0x1002dd3f
lea ecx, [esp + 0x1d4]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1002dd30
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0x1d8]
push eax
lea ecx, [esp + 0x34]
call fcn.1000f9f0
mov byte [esp + 0x3f0], 1
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x118]
call fcn.1000f660
mov byte [esp + 0x3f0], 0
cmp dword [esp + 0x40], 8
jb 0x1002dd89
push dword [esp + 0x2c]
call fcn.1007d9ed
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_CreateFileW]
xor eax, eax
mov dword [esp + 0x40], 7
mov dword [esp + 0x3c], 0
mov word [esp + 0x2c], ax
mov bl, 1
cmp dword [esi + 0x14], 8
jb 0x1002ddb2
mov ecx, dword [esi]
jmp 0x1002ddb4
mov ecx, esi
xor eax, eax
test bl, bl
setne al
push 0
push 0x80
lea eax, [eax*2 + 2]
push eax
push 0
push 0
push 0x40000000
push ecx
call edi
mov edi, eax
cmp edi, 0xffffffff
jne 0x1002dde4
xor bl, bl
jmp 0x1002de9e
push 3
xor eax, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
push 0x100bdcac
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1d4], 1
mov dword [esp + 0x1d8], edi
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 0
mov word [esp + 0x1c], ax
call fcn.1000f9f0
mov byte [esp + 0x3f0], 2
push ecx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x4c]
call fcn.100393a0
mov bl, al
mov byte [esp + 0x3f0], 0
cmp dword [esp + 0x28], 8
jb 0x1002de5e
push dword [esp + 0x14]
call fcn.1007d9ed
add esp, 4
xor eax, eax
mov dword [esp + 0x28], 7
mov dword [esp + 0x24], 0
mov word [esp + 0x14], ax
test bl, bl
je 0x1002de97
cmp dword [esi + 0x10], eax
jne 0x1002de82
xor bl, bl
jmp 0x1002de97
cmp dword [esi + 0x14], 8
jb 0x1002de8a
mov esi, dword [esi]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete bl
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp + 0x3f0], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.10039060
mov al, bl
mov ecx, dword [esp + 0x3e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3d0]
xor ecx, esp
call fcn.1007e654
mov esp, ebp
pop ebp
ret