Function at 0x5b11b80
Capabilities:
Check if file exists
Create directory
Get common file path
Get file attributes
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b1cc51
mov eax, dword fs:[0]
push eax
mov eax, 0x102c
call fcn.05acf3e0
mov eax, dword [0x5b920e8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
cmp esi, ebx
je 0x5b11eaa
push 0xffe
lea ecx, [ebp - 0x100e]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x1010], ax
call fcn.05acaa80
push 0x800
mov eax, 0x3ff
mov ecx, esi
lea edx, [ebp - 0x1010]
call fcn.05a01a00
add esp, 0x10
mov eax, 0x1000
mov ecx, 0x5b6b53c
lea edx, [ebp - 0x1010]
call fcn.05a05580
mov esi, dword [sym.imp.USERENV.dll_GetAllUsersProfileDirectoryW]
lea edx, [ebp - 0x1024]
push edx
push ebx
mov dword [ebp - 0x1024], ebx
call esi
mov eax, dword [ebp - 0x1024]
push eax
lea ecx, [ebp - 0x1034]
mov dword [ebp - 0x1034], ebx
mov dword [ebp - 0x1030], ebx
mov dword [ebp - 0x102c], ebx
call fcn.05a05620
lea ecx, [ebp - 0x1024]
mov dword [ebp - 4], ebx
mov edx, dword [ebp - 0x1034]
push ecx
push edx
call esi
mov eax, dword [ebp - 0x1024]
add eax, 0xa
push eax
lea ecx, [ebp - 0x1034]
call fcn.05a05620
mov esi, dword [ebp - 0x1034]
mov edi, dword [ebp - 0x1030]
sub edi, esi
sar edi, 1
lea eax, [edi + edi]
mov ecx, str.Symantec
mov edx, esi
call fcn.05a05580
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x5b11c9d
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5b11e46
add edi, 7
push edi
lea ecx, [ebp - 0x1034]
call fcn.05a05620
mov esi, dword [ebp - 0x1034]
mov edi, dword [ebp - 0x1030]
sub edi, esi
sar edi, 1
lea eax, [edi + edi]
mov ecx, 0x5b6b510
mov edx, esi
call fcn.05a05580
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x5b11cef
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push esi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x5b11e46
add edi, 0xd
push edi
lea ecx, [ebp - 0x1034]
call fcn.05a05620
mov esi, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
sub eax, esi
sar eax, 1
add eax, eax
mov ecx, str.Setup_s.log
mov edx, esi
call fcn.05a05580
push ebx
push 0x80
push 4
push ebx
push ebx
push 4
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x5b11da0
push 0x800
lea ecx, [ebp - 0x1020]
mov dword [ebp - 0x1020], ebx
mov dword [ebp - 0x101c], ebx
mov dword [ebp - 0x1018], ebx
call fcn.05a05620
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 0x1020]
push eax
push esi
push str.Could_not_open_file__s__error__d__n
push 0x800
push edi
call fcn.05ac8e68
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x1020]
call fcn.05a05710
jmp 0x5b11e9d
lea ecx, [ebp - 0x1038]
push ebx
push ecx
lea ecx, [ebp - 0x1010]
mov dword [ebp - 0x1038], ebx
call fcn.05a01010
push eax
lea edx, [ebp - 0x1010]
push edx
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x5b11e30
push 0x800
lea ecx, [ebp - 0x1020]
mov dword [ebp - 0x1020], ebx
mov dword [ebp - 0x101c], ebx
mov dword [ebp - 0x1018], ebx
call fcn.05a05620
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x1020]
push esi
push str.Could_not_write_to_file__s__error__d__n
push 0x800
push eax
call fcn.05ac8e68
mov ecx, dword [ebp - 0x1020]
add esp, 0x14
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x1020]
call fcn.05a05710
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5b11e9d
lea edx, [ebp - 0x1010]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x5b11e9d
push 0x800
lea ecx, [ebp - 0x1020]
mov dword [ebp - 0x1020], ebx
mov dword [ebp - 0x101c], ebx
mov dword [ebp - 0x1018], ebx
call fcn.05a05620
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [ebp - 0x1020]
push eax
push esi
push str.Could_not_open_file__s__error__d__n
push 0x800
push edi
call fcn.05ac8e68
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp edi, ebx
je 0x5b11e9d
push edi
call fcn.05ac7ecf
add esp, 4
cmp esi, ebx
je 0x5b11eaa
push esi
call fcn.05ac7ecf
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.05ac7ec0
mov esp, ebp
pop ebp
ret