Function at 0x5b7b1a
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push 0x98
mov eax, 0x6565dd
call fcn.006284bd
mov esi, dword [ebp + 8]
cmp dword [esi + 4], 3
mov eax, dword [esi]
mov edi, eax
jbe 0x5b7b40
cmp word [eax + 2], 0x3a
jne 0x5b7b40
add edi, 6
movzx ecx, word [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test cx, cx
je 0x5b7bb5
push 0x5c
pop eax
cmp cx, ax
je 0x5b7b5c
cmp cx, 0x2f
jne 0x5b7ba6
xor eax, eax
mov word [edi], ax
push dword [esi]
call ebx
cmp eax, 0xffffffff
je 0x5b7b6e
test al, 0x10
jne 0x5b7ba0
push 0
push dword [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x5b7ba0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esi]
mov dword [ebp - 0xa4], eax
push ecx
cmp eax, 0xb7
jne 0x5b7c9a
call ebx
test al, 0x10
je 0x5b7c4f
push 0x5c
pop eax
mov word [edi], ax
add edi, 2
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x5b7b4e
mov eax, dword [esi]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x5b7d7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esi]
mov edi, eax
push ecx
cmp edi, 0xb7
je 0x5b7d1d
lea eax, [ebp - 0x40]
push eax
call fcn.005ba695
mov esi, eax
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 4
push edi
push eax
call fcn.005b9a5f
push 0x665908
push eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 5
push eax
call fcn.005a0e4e
add esp, 0x1c
push esi
push eax
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.005a16fc
mov esi, 0x70d09c
mov ecx, esi
call fcn.00449330
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00449550
lea ecx, [ebp - 0x28]
call fcn.00449330
lea ecx, [ebp - 0x70]
call fcn.00449330
lea ecx, [ebp - 0x58]
jmp 0x5b7c90
push dword [esi]
lea eax, [ebp - 0x40]
push eax
call fcn.005ba695
push str._exists_and_is_not_a_directory
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 3
push eax
call fcn.005a0e4e
mov edi, eax
mov esi, 0x70d09c
add esp, 0x14
cmp edi, esi
je 0x5b7c8d
mov ecx, esi
call fcn.00449330
push edi
mov ecx, esi
call fcn.00449550
lea ecx, [ebp - 0x28]
call fcn.00449330
lea ecx, [ebp - 0x40]
jmp 0x5b7d14
lea eax, [ebp - 0x70]
push eax
call fcn.005ba695
mov esi, eax
push dword [ebp - 0xa4]
and dword [ebp - 4], 0
lea eax, [ebp - 0x58]
push eax
call fcn.005b9a5f
push 0x665908
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push eax
call fcn.005a0e4e
add esp, 0x1c
push esi
push eax
push dword [ebp - 0xa4]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 2
call fcn.005a16fc
mov esi, 0x70d09c
mov ecx, esi
call fcn.00449330
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.00449550
lea ecx, [ebp - 0x28]
call fcn.00449330
lea ecx, [ebp - 0x40]
call fcn.00449330
lea ecx, [ebp - 0x58]
call fcn.00449330
lea ecx, [ebp - 0x70]
call fcn.00449330
xor al, al
jmp 0x5b7d7c
call ebx
test al, 0x10
jne 0x5b7d7a
push dword [esi]
lea eax, [ebp - 0xa0]
push eax
call fcn.005ba695
push str._exists_and_is_not_a_directory
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 4], 7
push eax
call fcn.005a0e4e
mov edi, eax
mov esi, 0x70d09c
add esp, 0x14
cmp edi, esi
je 0x5b7d67
mov ecx, esi
call fcn.00449330
push edi
mov ecx, esi
call fcn.00449550
lea ecx, [ebp - 0x88]
call fcn.00449330
lea ecx, [ebp - 0xa0]
jmp 0x5b7d14
mov al, 1
call fcn.0062846c
ret