Function at 0x140005ff0
Capabilities:
Print debug messages
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
mov eax, 0x10c8
call fcn.14000a160
sub rsp, rax
mov rax, qword [0x14003f198]
xor rax, rsp
mov qword [rsp + 0x1090], rax
call fcn.140005ec0
test rax, rax
je 0x1400062ac
mov qword [rsp + 0x10c0], rbx
lea rcx, [rsp + 0x890]
mov qword [rsp + 0x10b0], rsi
xor edx, edx
mov r8d, 0x800
mov qword [rsp + 0x10a0], r14
call fcn.14000c160
lea rbx, [rsp + 0x10e0]
call fcn.140004f40
mov rcx, qword [rsp + 0x10d8]
lea rdx, [rsp + 0x890]
mov qword [rsp + 0x30], rbx
xor r14d, r14d
mov qword [rsp + 0x28], r14
mov rsi, 0xffffffffffffffff
mov qword [rsp + 0x20], rcx
mov r9, rsi
mov rcx, qword [rax]
mov r8d, 0x800
call fcn.1400156a4
cmp byte [rsp + 0x890], r14b
je 0x140006294
mov qword [rsp + 0x10b8], rbp
call fcn.140005ec0
mov rbp, rax
cmp dword [rax], r14d
je 0x14000628c
mov qword [rsp + 0x10a8], rdi
mov byte [rsp + 0x90], r14b
mov byte [rsp + 0x68], r14b
mov byte [rsp + 0x48], r14b
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea edx, [rsi + 0x1f]
mov edi, eax
lea rcx, [rsp + 0x68]
call fcn.1400171e4
lea r8, str.ERROR
lea edx, [rsi + 0x1f]
lea rcx, [rsp + 0x48]
call fcn.140016de0
cmp byte [rsp + 0x890], r14b
lea rax, [rsp + 0x48]
mov qword [rsp + 0x38], rax
lea rcx, [rbp + 0xc]
lea rax, [rsp + 0x68]
mov ebx, r14d
mov qword [rsp + 0x30], rax
lea r9, str.__s:_0x_X__s__s_
mov dword [rsp + 0x28], edi
mov r8, rsi
mov qword [rsp + 0x20], rcx
mov edx, 0x800
lea rcx, [rsp + 0x90]
setne bl
call fcn.1400072e0
test ebx, ebx
je 0x140006173
lea r8, [rsp + 0x890]
mov edx, 0x800
lea rcx, [rsp + 0x90]
call fcn.140016e40
lea r8, [0x140030308]
mov edx, 0x800
lea rcx, [rsp + 0x90]
call fcn.140016e40
lea rcx, [rbp + 0x398]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test byte [rbp + 4], 2
je 0x140006249
lea rcx, [rbp + 0x398]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov qword [rsp + 0x30], r14
lea rcx, [rbp + 0x10e]
mov dword [rsp + 0x28], r14d
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 4
mov edx, 0xc0000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
lea rcx, [rax - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14000623c
mov r9d, 2
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea rax, [rsp + 0x90]
inc rsi
cmp byte [rax + rsi], r14b
jne 0x140006203
mov r8, rsi
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov rcx, rdi
lea rdx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, [rbp + 0x398]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test byte [rbp + 4], 4
mov rdi, qword [rsp + 0x10a8]
je 0x140006265
lea rcx, [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test byte [rbp + 4], 8
je 0x14000627f
lea rcx, [rbp + 0x320]
lea rdx, [rsp + 0x90]
call fcn.1400085f0
lea rcx, [rbp + 0x398]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbp, qword [rsp + 0x10b8]
mov rsi, qword [rsp + 0x10b0]
mov rbx, qword [rsp + 0x10c0]
mov r14, qword [rsp + 0x10a0]
mov rcx, qword [rsp + 0x1090]
xor rcx, rsp
call fcn.14000a0a0
add rsp, 0x10c8
ret