Function at 0x407360
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x24], 0
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x90]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 0x20
xor edx, edx
mov ecx, 0x20
div rcx
shl rax, 2
mov eax, eax
add rax, 0x10
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
mov rdx, rax
xor ecx, ecx
call sub.ntoskrnl.exe_ExAllocatePool
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x4075d0
mov rax, qword [rsp + 0x30]
inc rax
mov rcx, qword [rsp + 0x38]
add rcx, 0x10
mov r8d, eax
mov rdx, rcx
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_RtlInitializeBitMap
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_RtlClearAllBits
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x98]
call fcn.00406b70
mov r8d, dword [rsp + 0x24]
mov edx, 1
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_RtlFindSetBits
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0x24], 0xffffffff
je 0x4075b5
lea r8, [rsp + 0x20]
mov edx, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_RtlFindNextForwardRunClear
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
mov r8d, eax
mov edx, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_RtlClearBits
mov eax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*8]
mov rcx, rax
call fcn.00408a60
cmp qword [rsp + 0x58], rax
jb 0x4075ad
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*8]
mov rcx, rax
call fcn.00408a60
mov rcx, qword [rsp + 0x50]
mov ecx, dword [rcx + 0x10]
sub rax, rcx
cmp qword [rsp + 0x58], rax
jae 0x4075ad
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
cmp dword [rax + 0x84], 0x47ba
jl 0x40753c
mov eax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*8 - 8]
mov rcx, rax
call fcn.00408a60
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x58], rax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
inc eax
mov eax, eax
imul rax, rax, 0x1000
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
jmp 0x40757f
mov eax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x98]
lea rax, [rcx + rax*8]
mov rcx, rax
call fcn.00408a60
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x58], rax
mov eax, dword [rsp + 0x24]
mov ecx, dword [rsp + 0x20]
sub ecx, eax
mov eax, ecx
mov eax, eax
imul rax, rax, 0x1000
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
mov r9, qword [rax + 0x60]
mov rax, qword [rsp + 0x60]
mov r8, qword [rax + 0x58]
mov rdx, qword [rsp + 0x58]
lea rcx, [0x0040f590]
call sub.ntoskrnl.exe_DbgPrint
mov rax, qword [rsp + 0x60]
mov byte [rax + 0x50], 1
jmp 0x4075c4
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
cmp rax, qword [rsp + 0x30]
jb 0x407434
xor edx, edx
mov rcx, qword [rsp + 0x38]
call sub.ntoskrnl.exe_ExFreePoolWithTag
add rsp, 0x48
ret