Function at 0x39e51e46
Capabilities:
Get file attributes

Disassembly:
push 0x65c
mov eax, 0x39ec408a
call fcn.39eaecb8
mov edi, edx
push 0x3b
push edi
mov esi, ecx
mov dword [ebp - 0x64c], edi
call fcn.39eb4742
pop ecx
pop ecx
test eax, eax
je 0x39e51eda
push edi
push 0x124c
lea eax, [ebp - 0x668]
push eax
call fcn.39e96477
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [eax + 0x18], 8
jb 0x39e51e8f
mov eax, dword [eax + 4]
jmp 0x39e51e92
add eax, 4
push eax
lea ecx, [ebp - 0x648]
call fcn.39eb4742
mov byte [ebp - 4], 2
push ebx
push 1
lea ecx, [ebp - 0x668]
call fcn.39eb4742
push 0x10
push dword [ebp - 0x648]
xor eax, eax
push dword [esi + 0x44]
inc eax
call fcn.39eb4742
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x648]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor al, al
jmp 0x39e52118
xor ebx, ebx
push ebx
push edi
call fcn.39eb4742
pop ecx
pop ecx
test eax, eax
jne 0x39e51f6d
push edi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
test al, 0x11
push edi
lea eax, [ebp - 0x668]
jne 0x39e5204e
push 0x124b
push eax
call fcn.39e96477
mov dword [ebp - 4], 6
cmp dword [eax + 0x18], 8
jb 0x39e51f20
mov eax, dword [eax + 4]
jmp 0x39e51f23
add eax, 4
push eax
lea ecx, [ebp - 0x648]
call fcn.39eb4742
mov byte [ebp - 4], 8
push ebx
push 1
lea ecx, [ebp - 0x668]
call fcn.39eb4742
push 0x21
push dword [ebp - 0x648]
push dword [esi + 0x44]
push 2
pop eax
call fcn.39eb4742
cmp eax, 2
je 0x39e51ec3
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x648]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
xor eax, eax
mov edi, 0x208
push edi
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x21e]
push ebx
push eax
call fcn.39e6fce0
add esp, 0xc
xor eax, eax
push edi
mov word [ebp - 0x430], ax
lea eax, [ebp - 0x42e]
push ebx
push eax
call fcn.39e6fce0
add esp, 0xc
xor eax, eax
push edi
mov word [ebp - 0x640], ax
lea eax, [ebp - 0x63e]
push ebx
push eax
call fcn.39e6fce0
add esp, 0xc
push ebx
push ebx
push ebx
push ebx
mov eax, 0x105
push eax
lea ecx, [ebp - 0x640]
push ecx
push eax
lea eax, [ebp - 0x430]
push eax
push dword [ebp - 0x64c]
call fcn.39eb4742
add esp, 0x24
push ebx
push ebx
lea eax, [ebp - 0x640]
push eax
lea eax, [ebp - 0x430]
push eax
lea eax, [ebp - 0x220]
push 0x104
push eax
call fcn.39eb4742
add esp, 0x18
lea eax, [ebp - 0x220]
push eax
call fcn.39eb4742
test eax, eax
setne al
cmp al, bl
jne 0x39e520ed
lea eax, [ebp - 0x220]
push eax
push 0x124d
lea eax, [ebp - 0x668]
push eax
call fcn.39e96477
mov dword [ebp - 4], 9
cmp dword [eax + 0x18], 8
jb 0x39e52083
mov eax, dword [eax + 4]
jmp 0x39e52086
push 0x125d
push eax
call fcn.39e96477
mov dword [ebp - 4], 3
cmp dword [eax + 0x18], 8
jb 0x39e5206b
mov eax, dword [eax + 4]
jmp 0x39e5206e
add eax, 4
push eax
lea ecx, [ebp - 0x648]
call fcn.39eb4742
mov byte [ebp - 4], 5
jmp 0x39e51ea2
add eax, 4
push eax
lea ecx, [ebp - 0x648]
call fcn.39eb4742
mov byte [ebp - 4], 0xb
push ebx
push 1
lea ecx, [ebp - 0x668]
call fcn.39eb4742
push 0x25
push dword [ebp - 0x648]
push dword [esi + 0x44]
push 4
pop eax
call fcn.39eb4742
cmp eax, 2
je 0x39e5211e
lea eax, [ebp - 0x220]
push eax
call fcn.39eb4742
test eax, eax
setne byte [ebp - 0x641]
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x648]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp byte [ebp - 0x641], bl
je 0x39e52024
lea eax, [ebp - 0x220]
push eax
mov ecx, esi
call fcn.39e52155
mov byte [ebp - 0x641], al
cmp al, bl
je 0x39e52112
push dword [ebp - 0x64c]
mov ecx, esi
call fcn.39eb4742
mov al, byte [ebp - 0x641]
call fcn.39eaed4a
ret
push ebx
push 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x64c], esp
push 0x39e1e0d8
call fcn.39eb4742
mov byte [ebp - 4], 0xc
mov esi, dword [esi + 0x44]
lea ecx, [esi + 4]
mov eax, dword [ecx]
add eax, 4
mov byte [ebp - 4], 0xb
call dword [eax]
jmp 0x39e51ec3