Function at 0x18ae0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov byte [rsp + 8], cl
push rsi
push rdi
sub rsp, 0x68
lea rcx, [rsp + 0x30]
call fcn.00012550
call fcn.00012440
mov r8d, dword [0x00033014]
mov edx, eax
lea rcx, [0x00024d60]
call sub.ntoskrnl.exe_DbgPrint
movzx edx, byte [rsp + 0x80]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x88]
lea rcx, [0x00024da0]
call sub.ntoskrnl.exe_DbgPrint
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
movzx edx, byte [rsp + 0x80]
mov r8d, dword [rax + rcx]
lea rcx, [0x00024de0]
call sub.ntoskrnl.exe_DbgPrint
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
cmp dword [rax + rcx], 0
jne 0x18c5b
movzx edi, byte [rsp + 0x80]
imul rdi, rdi, 0x10
movzx edx, byte [rsp + 0x80]
imul rdx, rdx, 0x18
lea rcx, [0x00030520]
mov rax, qword [rsp + 0x32]
movzx eax, word [rax + rdi + 2]
mov word [rcx + rdx + 8], ax
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x32]
movzx edx, word [rax + rcx]
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x32]
movzx ecx, word [rax + rcx + 6]
shl ecx, 0x10
mov eax, edx
add eax, ecx
movzx edx, byte [rsp + 0x80]
imul rdx, rdx, 0x18
lea rcx, [0x00030520]
cdqe
mov qword [rcx + rdx + 0x10], rax
movzx edi, byte [rsp + 0x80]
imul rdi, rdi, 0x18
lea rdx, [0x00030520]
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x32]
mov eax, dword [rax + rcx + 8]
shl rax, 0x20
mov rdx, qword [rdx + rdi + 0x10]
or rdx, rax
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
mov qword [rax + rcx + 0x10], rdx
cmp qword [rsp + 0x98], 0
je 0x18cad
movzx edx, byte [rsp + 0x80]
imul rdx, rdx, 0x18
lea rax, [0x00030520]
mov rcx, qword [rsp + 0x98]
movzx eax, word [rax + rdx + 8]
mov word [rcx + 8], ax
movzx edx, byte [rsp + 0x80]
imul rdx, rdx, 0x18
lea rax, [0x00030520]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rax + rdx + 0x10]
mov qword [rcx], rax
mov edx, dword [0x00033014]
lea rcx, [0x00024e00]
call sub.ntoskrnl.exe_DbgPrint
cmp dword [0x00033014], 0
je 0x18d9d
movzx eax, byte [rsp + 0x80]
cmp eax, 1
je 0x18cf7
movzx eax, byte [rsp + 0x80]
cmp eax, 3
je 0x18cf7
movzx eax, byte [rsp + 0x80]
cmp eax, 0xe
jne 0x18d9d
lea rcx, [0x00024e10]
call sub.ntoskrnl.exe_DbgPrint
mov dl, byte [rsp + 0x80]
mov byte [rsp + 0x50], dl
cmp byte [rsp + 0x50], 1
je 0x18d25
cmp byte [rsp + 0x50], 3
je 0x18d43
cmp byte [rsp + 0x50], 0xe
je 0x18d61
jmp 0x18d7d
mov r9, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x88]
xor edx, edx
mov ecx, 1
call fcn.000184b0
jmp 0x18d7d
mov r9, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x88]
xor edx, edx
mov ecx, 1
call fcn.00018550
jmp 0x18d7d
mov r9, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x88]
xor edx, edx
mov ecx, 1
call fcn.000185e0
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
mov dword [rax + rcx + 4], 1
jmp 0x18e9a
movzx eax, byte [rsp + 0x80]
cmp eax, 0x20
jge 0x18dbd
lea rcx, [0x00024e20]
call sub.ntoskrnl.exe_DbgPrint
xor eax, eax
jmp 0x18eb9
mov edx, 0x10
lea rcx, [0x00024e90]
call sub.ntoskrnl.exe_DbgPrint
mov rax, qword [rsp + 0x90]
shr rax, 0x10
mov word [rsp + 0x46], ax
movzx eax, word [rsp + 0x90]
mov word [rsp + 0x40], ax
movzx eax, word [rsp + 0x88]
mov word [rsp + 0x42], ax
mov byte [rsp + 0x44], 0
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x32]
movzx eax, byte [rax + rcx + 5]
mov byte [rsp + 0x45], al
mov rax, qword [rsp + 0x90]
shr rax, 0x20
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], 0
call fcn.00012580
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x10
mov rax, qword [rsp + 0x32]
lea rsi, [rsp + 0x40]
lea rdi, [rax + rcx]
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
call fcn.00012570
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
mov dword [rax + rcx + 4], 0
movzx edx, byte [rsp + 0x80]
mov r9, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x88]
lea rcx, [0x00024eb0]
call sub.ntoskrnl.exe_DbgPrint
movzx ecx, byte [rsp + 0x80]
imul rcx, rcx, 0x18
lea rax, [0x00030520]
mov dword [rax + rcx], 1
mov eax, 1
add rsp, 0x68
pop rdi
pop rsi
ret