Function at 0x180006790
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 0x180006a75
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r12
mov byte [rdi + r15], r13b
cmp rbx, r14
jb 0x180006824
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 0x18000684d
lea r12, [0x180025d47]
mov rbp, r13
cmp rbx, rdi
ja 0x180006844
mov r14, rdi
mov rdi, r13
sub r14, rbx
add r14, r15
mov r15, r12
jmp 0x18000684d
sub rbx, rdi
sub r14, rbx
add r14, r15
test dword [rcx + 0x30], 0x40000000
je 0x180006886
test rbp, rbp
je 0x180006866
mov rdx, rbp
mov rcx, r12
call fcn.180014520
test rbx, rbx
je 0x180006876
mov rdx, rbx
mov rcx, r14
call fcn.180014520
test rdi, rdi
je 0x180006886
mov rdx, rdi
mov rcx, r15
call fcn.180014520
test byte [rsi + 0x30], 0x40
je 0x1800068c5
test rbp, rbp
je 0x18000689f
xor r8d, r8d
mov rdx, rbp
mov rcx, r12
call fcn.180001410
test rbx, rbx
je 0x1800068b2
xor r8d, r8d
mov rdx, rbx
mov rcx, r14
call fcn.180001410
test rdi, rdi
je 0x1800068c5
xor r8d, r8d
mov rdx, rdi
mov rcx, r15
call fcn.180001410
test byte [rsi + 0x30], 0x80
je 0x180006904
test rbp, rbp
je 0x1800068de
mov r8b, 1
mov rdx, rbp
mov rcx, r12
call fcn.180001410
test rbx, rbx
je 0x1800068f1
mov r8b, 1
mov rdx, rbx
mov rcx, r14
call fcn.180001410
test rdi, rdi
je 0x180006904
mov r8b, 1
mov rdx, rdi
mov rcx, r15
call fcn.180001410
test byte [rsi + 0x30], 8
je 0x18000693a
test rbp, rbp
je 0x18000691a
mov rdx, rbp
mov rcx, r12
call sub.KERNEL32.dll_OutputDebugStringA
test rbx, rbx
je 0x18000692a
mov rdx, rbx
mov rcx, r14
call sub.KERNEL32.dll_OutputDebugStringA
test rdi, rdi
je 0x18000693a
mov rdx, rdi
mov rcx, r15
call sub.KERNEL32.dll_OutputDebugStringA
test byte [rsi + 0x30], 1
je 0x1800069ff
cmp byte [rsi + 0x10f8], r13b
je 0x1800069eb
test rbp, rbp
je 0x180006979
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.0x18001f8e5.0]
test rbx, rbx
je 0x1800069a1
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.0x18001f8e5.0]
test rdi, rdi
je 0x1800069c9
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.0x18001f8e5.0]
mov eax, dword [rsi + 0x28]
bt rax, 9
jae 0x1800069eb
mov rcx, qword [rsi + 0xc0]
mov rdx, qword [rsi + 0xc8]
mov rax, qword [rcx + 0x30]
call qword [case.0x18001f8e5.0]
cmp dword [rsi + 0xf0], r13d
je 0x1800069ff
lea rax, [rdi + rbx]
add qword [rsi + 0xe0], rax
test byte [rsi + 0x30], 2
je 0x180006a35
test rbp, rbp
je 0x180006a15
mov rdx, rbp
mov rcx, r12
call fcn.180014530
test rbx, rbx
je 0x180006a25
mov rdx, rbx
mov rcx, r14
call fcn.180014530
test rdi, rdi
je 0x180006a35
mov rdx, rdi
mov rcx, r15
call fcn.180014530
test byte [rsi + 0x30], 4
je 0x180006a6b
test rbp, rbp
je 0x180006a4b
mov rdx, rbp
mov rcx, r12
call fcn.180014580
test rbx, rbx
je 0x180006a5b
mov rdx, rbx
mov rcx, r14
call fcn.180014580
test rdi, rdi
je 0x180006a6b
mov rdx, rdi
mov rcx, r15
call fcn.180014580
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