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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x30012970]
push edi
push dword [ebp + 0x24]
mov edi, dword [ebp + 0x18]
push dword [ebp + 0x20]
mov dword [ebp - 4], eax
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [0x30013cd4]
push dword [ebp + 0xc]
call fcn.30003118
add esp, 0x1c
test eax, eax
jne 0x3000d8c6
push ebx
push esi
jmp 0x3000d895
test ax, ax
je 0x3000d8a2
push edi
push 0xfa
push 0x300140f8
call fcn.30007174
and dword [ebp - 0x418], 0
push 0
push 1
lea eax, [ebp - 0x418]
push eax
push dword [ebp + 0x1c]
mov eax, edi
call fcn.3000a33b
add esp, 0x1c
test eax, eax
je 0x3000d690
mov ax, word [0x300126a4]
and eax, dword [ebp - 0x418]
test ax, ax
je 0x3000d873
mov eax, dword [ebp + 0x1c]
lea esi, [ebp - 0x420]
mov dword [ebp - 0x420], edi
mov dword [ebp - 0x424], eax
call fcn.30009bad
mov bl, al
cmp bl, 0x66
je 0x3000d690
mov ecx, dword [ebp - 0x420]
and dword [ebp - 0x41c], 0
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x424]
call fcn.3000b8cf
test eax, eax
pop ecx
pop ecx
je 0x3000d690
cmp dword [ebp - 0x41c], 0
jne 0x3000d873
mov eax, dword [ebp - 0x420]
call fcn.3000bd18
test eax, eax
jne 0x3000d6bd
cmp dword [ebp + 0x20], 0
je 0x3000d873
push 0x34
push 0x34a
push dword [ebp + 0x24]
call fcn.3000a4ca
add esp, 0xc
cmp eax, 2
jne 0x3000d873
push 7
pop eax
jmp 0x3000d8c4
cmp bl, byte [0x300140ee]
je 0x3000d709
call fcn.30009d4d
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push 1
push 0xf
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.30009699
add esp, 0x18
test eax, eax
jne 0x3000d8c4
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push 1
push 0x300140ee
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.30002f7a
add esp, 0x18
test eax, eax
je 0x3000d6b5
push dword [0x3001296c]
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.30002c36
push dword [ebp - 0x420]
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.3000405a
lea eax, [ebp - 0x20c]
push eax
call fcn.3000684a
test eax, eax
pop ecx
je 0x3000d873
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push dword [ebp + 0x20]
mov edi, eax
push dword [ebp + 0x24]
lea eax, [ebp - 0x20c]
and edi, 1
push eax
mov dword [ebp - 0x424], edi
call fcn.30006a1b
add esp, 0xc
cmp eax, 0xffffffff
mov dword [ebp - 0x41c], eax
je 0x3000d6b5
lea eax, [ebp - 0x20c]
push eax
call fcn.300069a6
pop ecx
mov ebx, eax
push ebx
push esi
lea eax, [ebp - 0x414]
push eax
call fcn.30002c36
and word [ebx], 0
lea eax, [ebp - 0x20c]
push eax
mov ebx, 0x30013cd8
push ebx
call fcn.30007b1b
test eax, eax
pop ecx
pop ecx
je 0x3000d7d2
mov eax, dword [0x300140ec]
and eax, dword [ebp - 0x418]
cmp ax, word [ebp - 0x418]
je 0x3000d83a
lea eax, [ebp - 0x20c]
push eax
push esi
push ebx
call fcn.30002c36
mov ax, word [ebp - 0x418]
mov edi, 0x338
mov word [0x300140ec], ax
call fcn.3000916b
lea eax, [ebp - 0x20c]
push eax
call fcn.300091e6
push dword [ebp + 0x24]
mov eax, dword [0x300163b0]
push dword [ebp + 0x20]
lea eax, [ebp + eax*2 - 0x20c]
push eax
push dword [ebp - 0x418]
push 1
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.300096e1
add esp, 0x20
test eax, eax
jne 0x3000d8c4
mov edi, dword [ebp - 0x424]
push dword [ebp - 0x418]
lea eax, [ebp - 0x414]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x10]
push dword [ebp + 8]
push dword [ebp - 0x41c]
push edi
push 0
push eax
lea eax, [ebp - 0x20c]
push esi
push eax
call fcn.3000bdda
add esp, 0x2c
test eax, eax
jne 0x3000d8c4
mov edi, dword [ebp + 0x18]
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push edi
push dword [ebp + 0x14]
push dword [0x30013cd4]
push dword [ebp + 0xc]
call fcn.30003118
add esp, 0x1c
test eax, eax
jne 0x3000d8c4
mov ax, word [edi]
cmp ax, 0x5b
jne 0x3000d5dd
cmp word [edi], 0
mov dword [0x300129d8], edi
je 0x3000d8c2
push edi
call fcn.3000690b
cmp word [eax], 0x5d
pop ecx
je 0x3000d8c2
mov eax, 0x332
jmp 0x3000d8c4
xor eax, eax
pop esi
pop ebx
mov ecx, dword [ebp - 4]
pop edi
call fcn.300101bf
leave
ret