Function at 0x14003f2b0
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 0x14003f595
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r12
mov byte [rdi + r15], r13b
cmp rbx, r14
jb 0x14003f344
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 0x14003f36d
lea r12, [0x1400a1620]
mov rbp, r13
cmp rbx, rdi
ja 0x14003f364
mov r14, rdi
mov rdi, r13
sub r14, rbx
add r14, r15
mov r15, r12
jmp 0x14003f36d
sub rbx, rdi
sub r14, rbx
add r14, r15
test dword [rcx + 0x30], 0x40000000
je 0x14003f3a6
test rbp, rbp
je 0x14003f386
mov rdx, rbp
mov rcx, r12
call fcn.140005a00
test rbx, rbx
je 0x14003f396
mov rdx, rbx
mov rcx, r14
call fcn.140005a00
test rdi, rdi
je 0x14003f3a6
mov rdx, rdi
mov rcx, r15
call fcn.140005a00
test byte [rsi + 0x30], 0x40
je 0x14003f3e5
test rbp, rbp
je 0x14003f3bf
xor r8d, r8d
mov rdx, rbp
mov rcx, r12
call fcn.140001830
test rbx, rbx
je 0x14003f3d2
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.140001830
test rdi, rdi
je 0x14003f3e5
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.140001830
test byte [rsi + 0x30], 0x80
je 0x14003f424
test rbp, rbp
je 0x14003f3fe
mov r8b, 1
mov rdx, rbp
mov rcx, r12
call fcn.140001830
test rbx, rbx
je 0x14003f411
mov r8b, 1
mov rdx, rbx
mov rcx, r14
call fcn.140001830
test rdi, rdi
je 0x14003f424
mov r8b, 1
mov rdx, rdi
mov rcx, r15
call fcn.140001830
test byte [rsi + 0x30], 8
je 0x14003f45a
test rbp, rbp
je 0x14003f43a
mov rdx, rbp
mov rcx, r12
call sub.KERNEL32.dll_OutputDebugStringA
test rbx, rbx
je 0x14003f44a
mov rdx, rbx
mov rcx, r14
call sub.KERNEL32.dll_OutputDebugStringA
test rdi, rdi
je 0x14003f45a
mov rdx, rdi
mov rcx, r15
call sub.KERNEL32.dll_OutputDebugStringA
test byte [rsi + 0x30], 1
je 0x14003f51f
cmp byte [rsi + 0x10f8], r13b
je 0x14003f50b
test rbp, rbp
je 0x14003f499
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.0x140035d81.0]
test rbx, rbx
je 0x14003f4c1
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.0x140035d81.0]
test rdi, rdi
je 0x14003f4e9
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.0x140035d81.0]
mov eax, dword [rsi + 0x28]
bt rax, 9
jae 0x14003f50b
mov rcx, qword [rsi + 0xc0]
mov rdx, qword [rsi + 0xc8]
mov rax, qword [rcx + 0x30]
call qword [case.0x140035d81.0]
cmp dword [rsi + 0xf0], r13d
je 0x14003f51f
lea rax, [rdi + rbx]
add qword [rsi + 0xe0], rax
test byte [rsi + 0x30], 2
je 0x14003f555
test rbp, rbp
je 0x14003f535
mov rdx, rbp
mov rcx, r12
call fcn.14006b150
test rbx, rbx
je 0x14003f545
mov rdx, rbx
mov rcx, r14
call fcn.14006b150
test rdi, rdi
je 0x14003f555
mov rdx, rdi
mov rcx, r15
call fcn.14006b150
test byte [rsi + 0x30], 4
je 0x14003f58b
test rbp, rbp
je 0x14003f56b
mov rdx, rbp
mov rcx, r12
call fcn.14006b1a0
test rbx, rbx
je 0x14003f57b
mov rdx, rbx
mov rcx, r14
call fcn.14006b1a0
test rdi, rdi
je 0x14003f58b
mov rdx, rdi
mov rcx, r15
call fcn.14006b1a0
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