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

Disassembly:
push 0xffffffffffffffff
push 0x100aec08
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x100d3020]
xor eax, esp
mov dword [esp + 0x20], eax
push ebx
push esi
push edi
mov eax, dword [0x100d3020]
xor eax, esp
push eax
lea eax, [esp + 0x34]
mov dword fs:[0], eax
mov eax, dword [esp + 0x44]
xor esi, esi
push 0xffffffffffffffff
mov dword [esp + 0x14], ecx
push esi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x34], 7
mov dword [esp + 0x30], esi
mov word [esp + 0x20], si
call fcn.10002570
lea ebx, [esp + 0x14]
mov dword [esp + 0x3c], esi
call fcn.1007f380
mov ecx, dword [esp + 0x28]
cmp ecx, 2
jbe 0x1008785d
mov edx, dword [esp + 0x2c]
cmp edx, 8
mov esi, dword [esp + 0x18]
mov eax, esi
jae 0x10087715
lea eax, [esp + 0x18]
cmp word [eax], 0x5c
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
jne 0x1008775b
cmp ecx, 1
jae 0x10087734
call ebx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
cmp edx, 8
mov eax, esi
jae 0x1008773f
lea eax, [esp + 0x18]
cmp word [eax + 2], 0x5c
jne 0x1008775b
cmp edx, 8
jb 0x10087754
push esi
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov al, 1
jmp 0x100878fd
cmp edx, 8
mov eax, esi
jae 0x10087766
lea eax, [esp + 0x18]
cmp word [eax], 0x2f
jne 0x1008779b
cmp ecx, 1
jae 0x1008777b
call ebx
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
cmp edx, 8
mov eax, esi
jae 0x10087786
lea eax, [esp + 0x18]
cmp word [eax + 2], 0x2f
jne 0x1008779b
lea ecx, [esp + 0x14]
call fcn.10002160
jmp 0x100878fb
push 0x5c
push 0x2f
lea edi, [esp + 0x1c]
call fcn.1007f1d0
add esp, 8
cmp dword [esp + 0x28], 1
jae 0x100877b4
call ebx
mov ecx, dword [esp + 0x2c]
cmp ecx, 8
mov edx, dword [esp + 0x18]
mov eax, edx
jae 0x100877c7
lea eax, [esp + 0x18]
cmp word [eax + 2], 0x3a
jne 0x100878ed
cmp dword [esp + 0x28], 2
jae 0x100877e3
call ebx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
cmp ecx, 8
mov eax, edx
jae 0x100877ee
lea eax, [esp + 0x18]
cmp word [eax + 4], 0x5c
jne 0x100878ed
cmp ecx, 8
mov eax, edx
jae 0x10087804
lea eax, [esp + 0x18]
cmp word [eax], 0x61
jb 0x100878ed
xor edi, edi
lea eax, [esp + 0x14]
call fcn.10036fd0
cmp word [eax], 0x7a
ja 0x100878e5
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x10087832
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
lea ecx, [esp + 0x14]
je 0x10087791
mov edx, dword [esp + 0x10]
shr eax, 4
and al, 1
mov byte [edx], al
call fcn.10002160
mov al, 1
jmp 0x100878fd
jne 0x100878e5
mov ecx, dword [esp + 0x2c]
cmp ecx, 8
mov edx, dword [esp + 0x18]
mov eax, edx
jae 0x10087876
lea eax, [esp + 0x18]
cmp word [eax + 2], 0x3a
jne 0x100878ed
cmp ecx, 8
mov eax, edx
jae 0x10087888
lea eax, [esp + 0x18]
cmp word [eax], 0x61
jb 0x100878ed
xor edi, edi
lea eax, [esp + 0x14]
call fcn.10036fd0
cmp word [eax], 0x7a
ja 0x100878e5
lea eax, [esp + 0x14]
push eax
mov edx, 0x100b705c
call fcn.10023290
cmp dword [esp + 0x2c], 8
mov eax, dword [esp + 0x18]
jae 0x100878bd
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1008778d
mov ecx, dword [esp + 0x10]
shr eax, 4
and al, 1
mov byte [ecx], al
lea ecx, [esp + 0x14]
call fcn.10002160
mov al, 1
jmp 0x100878fd
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x18]
cmp ecx, 8
jb 0x100878fb
push edx
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
xor al, al
mov ecx, dword [esp + 0x34]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100a4489
add esp, 0x30
ret