Function at 0x1009d24e
Capabilities:
Check if file exists

Disassembly:
push 0x3c
mov eax, 0x100db1f2
call fcn.100c203a
mov ebx, ecx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x2c], ebx
xor edi, edi
or dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 4], edi
cmp dword [edx + 0x14], 8
jb 0x1009d273
mov edx, dword [edx]
push ecx
push 0x80
push ecx
push ecx
push 1
push 0x120089
lea ecx, [ebp - 0x38]
call fcn.10053103
mov esi, eax
shr eax, 0x1f
test al, al
je 0x1009d2e6
call fcn.10045373
mov ecx, dword [eax]
cmp dword [ecx], 2
jbe 0x1009d2bd
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x1002a2a0
push eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], esi
push eax
push ecx
push ecx
mov edx, 0x10031fcf
call fcn.10036d5f
xor eax, eax
mov edi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp dword [ebp - 0x38], 0xffffffff
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 7
mov word [ebx], ax
je 0x1009d45c
push dword [ebp - 0x38]
jmp 0x1009d456
mov esi, dword [ebp - 0x38]
push edi
push edi
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
mov edi, eax
test edi, edi
jne 0x1009d354
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.10045373
mov ecx, dword [eax]
cmp dword [ecx], 2
jbe 0x1009d338
movzx eax, di
mov edx, 0x10031fcf
or eax, 0x80070000
mov dword [ebp - 0x2c], 0x1002a330
test edi, edi
cmovle eax, edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
push ecx
push ecx
call fcn.10036d5f
xor eax, eax
mov edi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 7
mov word [ebx], ax
jmp 0x1009d450
push ecx
push edi
lea ecx, [ebp - 0x44]
call fcn.1004da20
push 0
push edi
mov byte [ebp - 4], 1
push dword [ebp - 0x44]
push esi
call dword [sym.imp.KERNEL32.dll_GetFinalPathNameByHandleW]
test eax, eax
je 0x1009d3f2
mov eax, dword [ebp - 0x44]
mov ecx, eax
mov edi, dword [ebp - 0x40]
push 8
sub edi, eax
mov dword [ebp - 0x30], eax
sar edi, 1
push 0x1002a318
push 0
mov edx, edi
mov dword [ebp - 0x2c], edi
call fcn.1008ba9d
cmp eax, 0xffffffff
je 0x1009d3e4
lea edx, [eax + 8]
cmp edi, edx
jb 0x1009d464
mov eax, dword [ebp - 0x44]
sub edi, edx
or ecx, 0xffffffff
cmp edi, 0xffffffff
cmovb ecx, edi
lea eax, [eax + edx*2]
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.10042c27
push eax
mov edx, 0x100148b8
mov byte [ebp - 4], 2
mov ecx, ebx
call fcn.1008aa20
lea ecx, [ebp - 0x28]
call fcn.10042adf
jmp 0x1009d448
push ecx
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.10042c27
jmp 0x1009d448
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.10045373
mov ecx, dword [eax]
cmp dword [ecx], 2
jbe 0x1009d431
movzx eax, di
mov edx, 0x10031fcf
or eax, 0x80070000
mov dword [ebp - 0x2c], 0x1002a3f8
test edi, edi
cmovle eax, edi
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
push eax
push ecx
push ecx
call fcn.10036d5f
xor eax, eax
mov edi, ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], 7
mov word [ebx], ax
lea ecx, [ebp - 0x44]
call fcn.1004d9fe
cmp esi, 0xffffffff
je 0x1009d45c
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
call fcn.100c1fe9
ret
call fcn.100496e7
int3