Function at 0x14003bfc0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
call fcn.140010430
mov byte [rdi + 0x58], 1
xor esi, esi
mov ebx, esi
mov qword [rsp + 0x38], rbx
cmp byte [rdi + 0x59], sil
je 0x14003c0e4
nop
mov edx, 0x64
lea rcx, [rdi + 0x60]
call fcn.14003fde0
test al, al
je 0x14003c0d5
cmp byte [rdi + 0x59], 0
je 0x14003c0df
mov rdx, qword [rdi + 0x50]
test rdx, rdx
je 0x14003c0d5
mov eax, 0xffffffff
lock xadd dword [rdx + 8], eax
cmp eax, 1
jns 0x14003c035
lock inc dword [rdx + 8]
jmp 0x14003c0d5
mov rax, qword [rdx + 0x20]
nop dword [rax]
mov rcx, qword [rdx + 0x20]
mov eax, 0x64
mov r8, qword [rcx]
test r8, r8
jne 0x14003c06f
add rcx, 8
cmp rcx, qword [rdx + 0x18]
jb 0x14003c067
mov rcx, qword [rdx + 0x10]
test rax, rax
je 0x14003c0d5
dec rax
mov r8, qword [rcx]
test r8, r8
je 0x14003c051
mov rax, r8
lock cmpxchg qword [rcx], rsi
jne 0x14003c040
mov qword [rsp + 0x38], r8
mov rax, qword [rdx + 0x20]
mov rax, qword [rdx + 0x20]
lea rcx, [rax + 8]
cmp rcx, qword [rdx + 0x18]
jb 0x14003c094
mov rcx, qword [rdx + 0x10]
lock cmpxchg qword [rdx + 0x20], rcx
jne 0x14003c082
lock inc dword [rdx + 0xc]
test r8, r8
je 0x14003c0d5
lea rcx, [r8 + 0x20]
cmp qword [rcx + 0x18], 0x10
jb 0x14003c0b3
mov rcx, qword [rcx]
mov edx, dword [r8 + 0x30]
mov r9, qword [rdi + 0x38]
mov r8d, 1
call fcn.140175d14
cmp byte [rdi + 0x40], 0
je 0x14003c0d5
mov rcx, qword [rdi + 0x38]
call fcn.140175208
cmp byte [rdi + 0x59], 0
jne 0x14003bff0
mov rbx, qword [rsp + 0x38]
lea rcx, str.Logging_thread_has_quit_main_loop_n
call fcn.14003a610
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x14003c1f0
movsxd rax, dword [rax + 8]
mov rbx, rax
mov edx, eax
lea rcx, str.Logging_thread_is_shutting_down__writing_outstanding_entries...___d__n
call fcn.14003a610
test ebx, ebx
jle 0x14003c1df
mov ebx, ebx
nop dword [rax]
mov rdx, qword [rdi + 0x50]
mov eax, 0xffffffff
lock xadd dword [rdx + 8], eax
cmp eax, 1
jns 0x14003c13c
lock inc dword [rdx + 8]
jmp 0x14003c1d5
mov rax, qword [rdx + 0x20]
mov rcx, qword [rdx + 0x20]
mov eax, 0x64
mov r8, qword [rcx]
test r8, r8
jne 0x14003c16f
add rcx, 8
cmp rcx, qword [rdx + 0x18]
jb 0x14003c167
mov rcx, qword [rdx + 0x10]
test rax, rax
je 0x14003c1d5
dec rax
mov r8, qword [rcx]
test r8, r8
je 0x14003c151
mov rax, r8
lock cmpxchg qword [rcx], rsi
jne 0x14003c140
mov qword [rsp + 0x38], r8
mov rax, qword [rdx + 0x20]
mov rax, qword [rdx + 0x20]
lea rcx, [rax + 8]
cmp rcx, qword [rdx + 0x18]
jb 0x14003c194
mov rcx, qword [rdx + 0x10]
lock cmpxchg qword [rdx + 0x20], rcx
jne 0x14003c182
lock inc dword [rdx + 0xc]
test r8, r8
je 0x14003c1d5
lea rcx, [r8 + 0x20]
cmp qword [rcx + 0x18], 0x10
jb 0x14003c1b3
mov rcx, qword [rcx]
mov edx, dword [r8 + 0x30]
mov r9, qword [rdi + 0x38]
mov r8d, 1
call fcn.140175d14
cmp byte [rdi + 0x40], 0
je 0x14003c1d5
mov rcx, qword [rdi + 0x38]
call fcn.140175208
sub rbx, 1
jne 0x14003c120
lea rcx, str.Logging_thread_finished_writing_outstanding_entries._n
call fcn.14003a610
mov rbx, qword [rsp + 0x38]
lea rcx, str.Logging_thread_is_signalling_it_is_done_n
call fcn.14003a610
mov byte [rdi + 0x58], 0
lea rcx, [rdi + 0x90]
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.14003fd80
mov rcx, rdi
call fcn.140010440
nop
test rbx, rbx
je 0x14003c22f
mov eax, dword [rbx + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140010440
nop
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret