Function at 0x14001c3e0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rcx + 0x88]
mov rsi, rcx
mov r15, qword [rcx + 0x90]
mov r14d, dword [rcx + 0x84]
add r15, 0x10
mov rdi, qword [rcx + 0x98]
add r14, 0xffffffffffffffe0
sub rdi, r15
mov rax, r14
sub rax, rdi
cmp rdi, r14
cmovae rax, r14
xor r13d, r13d
cmp rdi, r14
mov qword [rcx + 0x88], r13
cmovae rdi, r13
test rbx, rbx
je 0x14001c6c5
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r12
mov byte [rdi + r15], r13b
cmp rbx, r14
jb 0x14001c474
lea r14, [r15 + 1]
add r14, rdi
lea rbx, [rax - 1]
test rax, rax
lea r12, str._nFLUSH_RING_BUF_n
lea ebp, [r13 + 0x12]
cmove rbx, r13
jmp 0x14001c49d
lea r12, [0x140054850]
mov rbp, r13
cmp rbx, rdi
ja 0x14001c494
mov r14, rdi
mov rdi, r13
sub r14, rbx
add r14, r15
mov r15, r12
jmp 0x14001c49d
sub rbx, rdi
sub r14, rbx
add r14, r15
test dword [rcx + 0x30], 0x40000000
je 0x14001c4d6
test rbp, rbp
je 0x14001c4b6
mov rdx, rbp
mov rcx, r12
call fcn.1400400f0
test rbx, rbx
je 0x14001c4c6
mov rdx, rbx
mov rcx, r14
call fcn.1400400f0
test rdi, rdi
je 0x14001c4d6
mov rdx, rdi
mov rcx, r15
call fcn.1400400f0
test byte [rsi + 0x30], 0x40
je 0x14001c515
test rbp, rbp
je 0x14001c4ef
xor r8d, r8d
mov rdx, rbp
mov rcx, r12
call fcn.140001650
test rbx, rbx
je 0x14001c502
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140001650
test rdi, rdi
je 0x14001c515
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.140001650
test byte [rsi + 0x30], 0x80
je 0x14001c554
test rbp, rbp
je 0x14001c52e
mov r8b, 1
mov rdx, rbp
mov rcx, r12
call fcn.140001650
test rbx, rbx
je 0x14001c541
mov r8b, 1
mov rdx, rbx
mov rcx, r14
call fcn.140001650
test rdi, rdi
je 0x14001c554
mov r8b, 1
mov rdx, rdi
mov rcx, r15
call fcn.140001650
test byte [rsi + 0x30], 8
je 0x14001c58a
test rbp, rbp
je 0x14001c56a
mov rdx, rbp
mov rcx, r12
call sub.KERNEL32.dll_OutputDebugStringA
test rbx, rbx
je 0x14001c57a
mov rdx, rbx
mov rcx, r14
call sub.KERNEL32.dll_OutputDebugStringA
test rdi, rdi
je 0x14001c58a
mov rdx, rdi
mov rcx, r15
call sub.KERNEL32.dll_OutputDebugStringA
test byte [rsi + 0x30], 1
je 0x14001c64f
cmp byte [rsi + 0x10f8], r13b
je 0x14001c63b
test rbp, rbp
je 0x14001c5c9
mov rcx, qword [rsi + 0xc0]
mov r9, rbp
mov rdx, qword [rsi + 0xc8]
mov r8, r12
mov qword [rsp + 0x20], r13
mov rax, qword [rcx + 0x28]
call qword [case.0x14004be35.0]
test rbx, rbx
je 0x14001c5f1
mov rcx, qword [rsi + 0xc0]
mov r9, rbx
mov rdx, qword [rsi + 0xc8]
mov r8, r14
mov qword [rsp + 0x20], r13
mov rax, qword [rcx + 0x28]
call qword [case.0x14004be35.0]
test rdi, rdi
je 0x14001c619
mov rcx, qword [rsi + 0xc0]
mov r9, rdi
mov rdx, qword [rsi + 0xc8]
mov r8, r15
mov qword [rsp + 0x20], r13
mov rax, qword [rcx + 0x28]
call qword [case.0x14004be35.0]
mov eax, dword [rsi + 0x28]
bt rax, 9
jae 0x14001c63b
mov rcx, qword [rsi + 0xc0]
mov rdx, qword [rsi + 0xc8]
mov rax, qword [rcx + 0x30]
call qword [case.0x14004be35.0]
cmp dword [rsi + 0xf0], r13d
je 0x14001c64f
lea rax, [rdi + rbx]
add qword [rsi + 0xe0], rax
test byte [rsi + 0x30], 2
je 0x14001c685
test rbp, rbp
je 0x14001c665
mov rdx, rbp
mov rcx, r12
call fcn.140040100
test rbx, rbx
je 0x14001c675
mov rdx, rbx
mov rcx, r14
call fcn.140040100
test rdi, rdi
je 0x14001c685
mov rdx, rdi
mov rcx, r15
call fcn.140040100
test byte [rsi + 0x30], 4
je 0x14001c6bb
test rbp, rbp
je 0x14001c69b
mov rdx, rbp
mov rcx, r12
call fcn.140040150
test rbx, rbx
je 0x14001c6ab
mov rdx, rbx
mov rcx, r14
call fcn.140040150
test rdi, rdi
je 0x14001c6bb
mov rdx, rdi
mov rcx, r15
call fcn.140040150
mov rbp, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x70]
add rsp, 0x30
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret