Function at 0x14011ee24
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
or rdi, 0xffffffffffffffff
mov r12, r8
mov r14d, edx
mov r15, rcx
cmp qword [rcx], rdi
jne 0x14011ee67
lea r8, str.m_fileHandle___INVALID_HANDLE_VALUE
mov edx, 0x109
lea rcx, str.base_stor_blbengine_blbengutils_filelogger.cpp
call fcn.140088f60
xor eax, eax
lea rdx, [rbp - 8]
mov ecx, r14d
mov qword [rbp + 0x48], rax
mov esi, eax
mov qword [rbp - 0x10], rax
mov dword [rbp + 0x30], eax
mov qword [rbp - 8], rax
call fcn.14011e808
mov ebx, eax
test eax, eax
jns 0x14011eed6
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14011f0ac
test byte [rcx + 0x1c], 1
je 0x14011f0ac
cmp byte [rcx + 0x19], 2
jb 0x14011f0ac
mov rcx, qword [rcx + 0x10]
lea edx, [rsi + 0x10]
mov r9d, r14d
mov dword [rsp + 0x20], ebx
lea r8, [0x140158ac8]
call fcn.140040538
jmp 0x14011f0ac
mov rdx, qword [rbp - 8]
lea rax, [rbp + 0x48]
mov qword [rsp + 0x30], r12
xor r14d, r14d
mov dword [rsp + 0x28], r14d
mov r9d, 0x400
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov ecx, 0x500
call qword [sym.imp.KERNEL32.dll_FormatMessageW]
nop dword [rax + rax]
test eax, eax
jne 0x14011ef76
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x14011ef29
movzx ebx, ax
or ebx, 0x80070000
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14011f0ac
test byte [rcx + 0x1c], 1
je 0x14011f0ac
cmp byte [rcx + 0x19], 2
jb 0x14011f0ac
mov r9, qword [rbp - 8]
mov edx, 0x11
mov rcx, qword [rcx + 0x10]
lea r8, [0x140158ac8]
mov dword [rsp + 0x20], ebx
call fcn.140014f78
jmp 0x14011f0ac
mov rcx, qword [rbp + 0x48]
lea rsi, [0x140158968]
mov rdx, rsi
lea r8, [rbp - 0x10]
call fcn.14008a090
mov ebx, eax
test eax, eax
jns 0x14011efdd
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14011efd4
test byte [rcx + 0x1c], 1
je 0x14011efd4
cmp byte [rcx + 0x19], 2
jb 0x14011efd4
mov r9, qword [rbp + 0x48]
lea r8, [0x140158ac8]
mov rcx, qword [rcx + 0x10]
mov edx, 0x12
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rsi
call fcn.1400150ac
mov rsi, qword [rbp - 0x10]
jmp 0x14011f0ac
mov rsi, qword [rbp - 0x10]
inc rdi
cmp word [rsi + rdi*2], r14w
jne 0x14011efe1
mov rcx, qword [r15]
lea r9, [rbp + 0x30]
add edi, edi
mov qword [rsp + 0x20], r14
mov r8d, edi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
nop dword [rax + rax]
test eax, eax
jne 0x14011f057
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov ebx, eax
test eax, eax
jle 0x14011f02a
movzx ebx, ax
or ebx, 0x80070000
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14011f0ac
test byte [rcx + 0x1c], 1
je 0x14011f0ac
cmp byte [rcx + 0x19], 2
jb 0x14011f0ac
mov r9, qword [rbp + 0x48]
mov edx, 0x13
jmp 0x14011ef5d
cmp dword [rbp + 0x30], edi
je 0x14011f074
lea r8, str.dwBytesWritten__dwBytesToWrite
mov edx, 0x143
lea rcx, str.base_stor_blbengine_blbengutils_filelogger.cpp
call fcn.140088f60
mov rcx, qword [0x14016a048]
lea rax, [0x14016a048]
cmp rcx, rax
je 0x14011f0ac
test byte [rcx + 0x1c], 1
je 0x14011f0ac
cmp byte [rcx + 0x19], 5
jb 0x14011f0ac
mov r9, qword [rbp + 0x48]
lea r8, [0x140158ac8]
mov rcx, qword [rcx + 0x10]
mov edx, 0x14
call fcn.140014f10
mov rcx, qword [rbp - 8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x48]
call qword [sym.imp.KERNEL32.dll_LocalFree]
nop dword [rax + rax]
lea r11, [rsp + 0x50]
mov eax, ebx
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret