Function at 0x15b78
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
xor edi, edi
or r13d, 0xffffffff
mov rbp, rcx
mov dword [rsp + 0xa8], r13d
mov qword [rsp + 0x38], rdi
cmp dword [0x00024e08], edi
jne 0x15bc7
cmp byte [0x00025742], dil
je 0x15bc0
lea rcx, [0x0001eee0]
call sub.ntoskrnl.exe_DbgPrint
xor eax, eax
jmp 0x15da4
lea rcx, [0x00024e18]
call qword [sym.imp.ntoskrnl.exe_KeAcquireSpinLockRaiseToDpc]
mov byte [0x00024e20], al
call fcn.00014698
mov rbx, qword [0x00024e10]
mov esi, eax
mov dword [rsp + 0xa0], eax
mov eax, dword [0x00024e08]
mov dword [rsp + 0x30], eax
cmp eax, edi
jbe 0x15d87
cmp byte [0x00025742], dil
je 0x15c16
lea rcx, [0x0001ef00]
call sub.ntoskrnl.exe_DbgPrint
cmp esi, dword [rbx + 0x38]
jbe 0x15cef
cmp byte [0x00025742], dil
je 0x15c34
lea rcx, [0x0001ef20]
call sub.ntoskrnl.exe_DbgPrint
lea eax, [rsi + 0x3e8]
mov dword [rbx + 0x34], esi
mov qword [rbx + 0x48], rdi
mov qword [rbx + 0x50], rdi
mov dword [rbx + 0x38], eax
cmp esi, dword [rbx + 0x40]
jbe 0x15cef
lea eax, [rsi + 0x7530]
mov dword [rbx + 0x30], edi
mov dword [rbx + 0x3c], esi
mov qword [rbx + 0x60], rdi
mov qword [rbx + 0x68], rdi
mov dword [rbx + 0x40], eax
cmp byte [0x00025742], dil
je 0x15cef
mov r9, qword [rbx + 0x70]
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001ef40]
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15cef
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001ef70]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15cef
mov rdx, qword [rbx + 0x60]
lea rcx, [0x0001ef90]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15cef
mov rdx, qword [rbx + 0x70]
lea rcx, [0x0001efb0]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15cef
mov rdx, qword [rbx + 0x68]
lea rcx, [0x0001efd0]
call sub.ntoskrnl.exe_DbgPrint
movzx eax, word [rbp + 8]
mov r15d, dword [rbx + 0x28]
movzx r14d, word [rbp + 0xa]
mov r12d, dword [rbp + 4]
mov word [rsp + 0x98], ax
lea r13, [rbx + 0x78]
mov ebp, edi
cmp r15d, edi
jbe 0x15d44
mov rsi, r13
cmp dword [rsi], r12d
ja 0x15d25
cmp r12d, dword [rsi + 4]
jbe 0x15db5
mov eax, ebp
mov ecx, r12d
lea rdx, [r13 + rax*8]
call fcn.00015b00
cmp al, dil
jne 0x15db5
inc ebp
add rsi, 8
cmp ebp, dword [rbx + 0x28]
jb 0x15d16
cmp byte [0x00025742], dil
je 0x15d59
lea rcx, [0x0001ed60]
call sub.ntoskrnl.exe_DbgPrint
mov rbp, qword [rsp + 0x90]
mov eax, dword [rsp + 0x30]
mov edx, dword [rbx]
mov esi, dword [rsp + 0xa0]
dec eax
add rbx, rdx
mov dword [rsp + 0x30], eax
cmp eax, edi
ja 0x15c01
mov r13d, dword [rsp + 0xa8]
mov dl, byte [0x00024e20]
lea rcx, [0x00024e18]
call qword [sym.imp.ntoskrnl.exe_KeReleaseSpinLock]
cmp r13d, 2
sete dil
mov eax, edi
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 1
cmp r14w, ax
jne 0x15dd9
cmp byte [0x00025742], dil
je 0x15f19
lea rcx, [0x0001ed80]
jmp 0x15e84
cmp byte [0x00025742], dil
je 0x15df1
mov edx, dword [rbx + 0x2c]
lea rcx, [0x0001eda0]
call sub.ntoskrnl.exe_DbgPrint
mov ebp, edi
cmp dword [rbx + 0x2c], edi
jbe 0x15d59
movzx r12d, r14w
lea rsi, [r13 + r15*8 + 6]
mov r14d, 1
cmp byte [0x00025742], dil
je 0x15e42
movzx eax, word [rsi]
movzx r13d, word [rsp + 0x98]
movzx r9d, word [rsi - 2]
mov edx, dword [rsi - 6]
mov dword [rsp + 0x28], eax
lea rcx, [0x0001edc0]
mov r8d, r12d
mov dword [rsp + 0x20], r13d
call sub.ntoskrnl.exe_DbgPrint
jmp 0x15e4b
mov r13w, word [rsp + 0x98]
cmp dword [rsi - 6], r12d
jne 0x15e5e
cmp word [rsi - 2], r13w
ja 0x15e5e
cmp r13w, word [rsi]
jbe 0x15e70
add ebp, r14d
add rsi, 8
cmp ebp, dword [rbx + 0x2c]
jae 0x15d59
jmp 0x15e0b
cmp byte [0x00025742], dil
je 0x15f19
lea rcx, [0x0001ee00]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15f19
mov rax, qword [rbx + 0x68]
mov r9, qword [rbx + 0x70]
mov r8, qword [rbx + 0x60]
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001eff0]
mov qword [rsp + 0x20], rax
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15f19
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001f020]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15f19
mov rdx, qword [rbx + 0x60]
lea rcx, [0x0001f040]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15f19
mov rdx, qword [rbx + 0x70]
lea rcx, [0x0001f060]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x15f19
mov rdx, qword [rbx + 0x68]
lea rcx, [0x0001f080]
call sub.ntoskrnl.exe_DbgPrint
mov eax, dword [rbx + 0x14]
mov r12d, dword [rsp + 0xa0]
and eax, 3
cmp dword [rbx + 0xc], edi
je 0x15f50
cmp r12d, dword [rbx + 0xc]
jb 0x15f50
cmp byte [0x00025742], dil
je 0x16263
lea rcx, [0x0001ee20]
call sub.ntoskrnl.exe_DbgPrint
jmp 0x16263
cmp dword [rbx + 0x10], edi
je 0x15f74
cmp byte [0x00024121], dil
jne 0x15f74
cmp byte [0x00025742], dil
je 0x16263
lea rcx, [0x0001ee40]
jmp 0x15f46
mov r14d, 1
cmp eax, r14d
jne 0x16086
cmp byte [0x00025742], dil
je 0x15f98
lea rcx, [0x0001ee60]
call sub.ntoskrnl.exe_DbgPrint
mov r9d, dword [rbx + 0x14]
mov bpl, dil
mov esi, r9d
and esi, 3
cmp byte [0x00025742], dil
je 0x16054
mov edx, dword [rbx + 0x30]
lea rcx, [0x0001f0a0]
mov r8d, esi
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x16054
mov rax, qword [rbx + 0x68]
mov r9, qword [rbx + 0x70]
mov r8, qword [rbx + 0x60]
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001f0d0]
mov qword [rsp + 0x20], rax
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x16054
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001f100]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x16054
mov rdx, qword [rbx + 0x60]
lea rcx, [0x0001f120]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x16054
mov rdx, qword [rbx + 0x70]
lea rcx, [0x0001f140]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x16054
mov rdx, qword [rbx + 0x68]
lea rcx, [0x0001f160]
call sub.ntoskrnl.exe_DbgPrint
mov r13d, dword [rsp + 0xa8]
cmp r13d, 0xffffffff
jne 0x1610b
cmp esi, 3
je 0x1610b
mov r13d, esi
mov dword [rsp + 0xa8], esi
mov rax, rbx
mov qword [rsp + 0x38], rbx
jmp 0x16110
cmp dword [rbx + 0x20], r14d
jne 0x160b3
mov rax, qword [rbx + 0x58]
cmp qword [rbx + 0x48], rax
jge 0x15f98
cmp byte [0x00025742], dil
je 0x16263
lea rcx, [0x0001ee80]
jmp 0x15f46
cmp dword [rbx + 0x20], 2
jne 0x160e0
mov rax, qword [rbx + 0x58]
cmp qword [rbx + 0x50], rax
jge 0x15f98
cmp byte [0x00025742], dil
je 0x16263
lea rcx, [0x0001eea0]
jmp 0x15f46
mov rax, qword [rbx + 0x50]
add rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x58]
jge 0x15f98
cmp byte [0x00025742], dil
je 0x16263
lea rcx, [0x0001eec0]
jmp 0x15f46
mov rax, qword [rsp + 0x38]
cmp rax, rdi
je 0x1612d
cmp rax, rbx
jne 0x16141
cmp esi, 2
je 0x16128
test dword [rbx + 0x14], 0xff0
je 0x16141
mov bpl, r14b
jmp 0x16141
cmp esi, 3
jne 0x16141
test dword [rbx + 0x14], 0xff0
movzx ebp, bpl
cmovne ebp, r14d
cmp dword [rbx + 0x30], edi
jne 0x16259
cmp bpl, dil
je 0x16259
cmp byte [0x00025742], dil
je 0x161e3
mov rax, qword [rbx + 0x68]
mov r9, qword [rbx + 0x70]
mov r8, qword [rbx + 0x60]
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001f180]
mov qword [rsp + 0x20], rax
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x161e3
mov edx, dword [rbx + 0x20]
lea rcx, [0x0001f1b0]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x161e3
mov rdx, qword [rbx + 0x60]
lea rcx, [0x0001f1d0]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x161e3
mov rdx, qword [rbx + 0x70]
lea rcx, [0x0001f1f0]
call sub.ntoskrnl.exe_DbgPrint
cmp byte [0x00025742], dil
je 0x161e3
mov rdx, qword [rbx + 0x68]
lea rcx, [0x0001f210]
call sub.ntoskrnl.exe_DbgPrint
cmp dword [rbx + 0x20], r14d
jne 0x161f3
mov rax, qword [rbx + 0x70]
cmp qword [rbx + 0x60], rax
jmp 0x1620f
cmp dword [rbx + 0x20], 2
jne 0x16203
mov rax, qword [rbx + 0x70]
cmp qword [rbx + 0x68], rax
jmp 0x1620f
mov rax, qword [rbx + 0x68]
add rax, qword [rbx + 0x60]
cmp rax, qword [rbx + 0x70]
jl 0x16259
cmp byte [0x00025742], dil
je 0x16226
lea rcx, [0x0001f230]
call sub.ntoskrnl.exe_DbgPrint
mov rcx, qword [rsp + 0x90]
mov rax, qword [rbx + 0x58]
mov dword [rbx + 0x30], r12d
movzx r9d, word [rcx + 0xa]
movzx r8d, word [rcx + 8]
mov edx, dword [rcx + 4]
mov qword [rsp + 0x28], rax
movzx eax, word [rcx + 0xc]
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.00016410
cmp r13d, 2
je 0x15d87
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
add qword [rbx + 0x48], rcx
add qword [rbx + 0x50], rax
add qword [rbx + 0x60], rcx
add qword [rbx + 0x68], rax
jmp 0x15d61