Function at 0x140016ff0
Capabilities:
Print debug messages

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rax, qword [0x1400410e0]
xor rax, rsp
mov qword [rbp + 0x260], rax
lea rax, vtable.HPMemCollector.0
mov qword [rcx], rax
call fcn.140018220
xor r14d, r14d
test al, al
je 0x140017939
mov rax, qword [str._Starting_memory_allocation_tracking_reporting]
mov qword [rsp + 0x3a8], rbx
mov qword [rsp + 0x3b0], rsi
mov qword [rbp + 0x10], rax
mov rax, qword [0x1400385a8]
mov qword [rsp + 0x380], rdi
mov qword [rbp + 0x18], rax
mov rax, qword [0x1400385b0]
lea ecx, [r14 + 3]
mov qword [rbp + 0x20], rax
mov rax, qword [0x1400385b8]
mov qword [rsp + 0x378], r12
mov qword [rbp + 0x28], rax
mov rax, qword [0x1400385c0]
mov qword [rsp + 0x370], r13
mov qword [rbp + 0x30], rax
mov rax, qword [0x1400385c8]
mov qword [rbp + 0x38], rax
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x1400170dc
lea r9d, [r14 + 2]
lea r8, [0x140034f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x1400170d4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov ecx, 0x1d
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x18], eax
mov byte [rdi + 0x1c], al
test rdi, rdi
je 0x14001712c
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x140017124
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x10]
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140017190
mov esi, ecx
call fcn.14001be7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
mov rbx, rdi
test rdi, rdi
je 0x140017190
lea r8, [rbp + 0x10]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001b49c
test eax, eax
jne 0x140017188
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001be3c
mov ecx, 0x1d
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x18], eax
mov byte [rdi + 0x1c], al
test rdi, rdi
je 0x1400171e0
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x1400171d8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov ecx, 3
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x140017225
lea r9d, [rax + 2]
lea r8, [0x140034f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x14001721d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov rbx, qword [0x140044d60]
test rbx, rbx
jne 0x140017242
xor ecx, ecx
call fcn.140018720
mov rbx, rax
mov qword [0x140044d60], rax
lea r8, [rsp + 0x20]
lea rdx, [0x140017980]
mov ecx, 6
mov rsi, r14
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
test eax, eax
je 0x140017272
mov rcx, qword [rsp + 0x20]
call fcn.140018720
mov rsi, rax
test rbx, rbx
je 0x140017371
test rsi, rsi
je 0x14001737e
mov rcx, qword [str.Process_Name:]
movzx eax, byte [0x1400385de]
lea rdi, [rsp + 0x40]
mov byte [rsp + 0x4e], al
mov rax, qword [str.Current_Module_Name:]
mov qword [rsp + 0x40], rcx
mov ecx, dword [0x1400385d8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1400385e8]
mov dword [rsp + 0x48], ecx
movzx ecx, word [0x1400385dc]
mov qword [rsp + 0x30], rax
mov eax, dword [0x1400385f0]
mov word [rsp + 0x4c], cx
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400385f4]
mov word [rsp + 0x3c], ax
xor eax, eax
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x40]
call fcn.140018d50
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rbx
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
mov rcx, rbx
call fcn.140018d50
lea rcx, [0x140034f60]
mov edx, 2
call fcn.140018d50
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x28]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea rcx, [rsp + 0x28]
call fcn.140018d50
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, rsi
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
mov rcx, rsi
call fcn.140018d50
lea rcx, [0x140034f60]
mov edx, 2
call fcn.140018d50
test rsi, rsi
je 0x14001737e
mov rcx, rsi
call fcn.14001be3c
mov rdi, qword [0x140044d18]
mov rbx, r14
test rdi, rdi
je 0x1400173a7
nop dword [rax]
add rbx, qword [rdi + 0x20]
xor edx, edx
mov rcx, rdi
call fcn.140017ed0
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x140017390
mov rax, qword [str.Total_number_of_allocations_tracked:__d_n]
lea rcx, [rbp + 0x41]
xor edx, edx
mov qword [rbp - 0x20], rax
mov rax, qword [0x140038600]
mov r8d, 0x103
mov qword [rbp - 0x18], rax
mov rax, qword [0x140038608]
mov byte [rbp + 0x40], r14b
mov qword [rbp - 0x10], rax
mov rax, qword [0x140038610]
mov qword [rbp - 8], rax
mov rax, qword [0x140038618]
mov qword [rbp], rax
movzx eax, byte [0x140038620]
mov byte [rbp + 8], al
call fcn.14001c640
mov r9d, dword [0x140044d34]
lea r8, [rbp - 0x20]
lea rcx, [rbp + 0x40]
mov edx, 0x104
call fcn.14001be18
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x40]
repne scasb al, byte [rdi]
not rcx
lea r13, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140017479
mov r12d, ecx
call fcn.14001be7c
mov r8d, r12d
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
test rdi, rdi
je 0x140017479
lea r8, [rbp + 0x40]
mov r9d, r13d
mov edx, r12d
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x140017471
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov r13, qword [rsp + 0x370]
test rbx, rbx
je 0x1400175f0
mov rax, qword [str.Total_leaked_size:__d_n]
lea rcx, [rbp + 0x151]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rax, qword [0x140038630]
mov r8d, 0x103
mov qword [rsp + 0x30], rax
mov eax, dword [0x140038638]
mov byte [rbp + 0x150], r14b
mov dword [rsp + 0x38], eax
movzx eax, word [0x14003863c]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x14003863e]
mov byte [rsp + 0x3e], al
call fcn.14001c640
lea r8, [rsp + 0x28]
lea rcx, [rbp + 0x150]
mov r9, rbx
mov edx, 0x104
call fcn.14001be18
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp + 0x150]
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140017561
mov esi, ecx
call fcn.14001be7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
mov rbx, rdi
test rdi, rdi
je 0x140017561
lea r8, [rbp + 0x150]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001b49c
test eax, eax
jne 0x140017559
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001be3c
mov rax, qword [str._r_n_Memory_was_leaked__r_n]
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x50]
mov qword [rbp - 0x50], rax
mov rax, qword [0x140038648]
mov qword [rbp - 0x48], rax
mov rax, qword [0x140038650]
mov qword [rbp - 0x40], rax
mov rax, qword [0x140038658]
mov qword [rbp - 0x38], rax
mov rax, qword [0x140038660]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140038668]
mov dword [rbp - 0x28], eax
xor eax, eax
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x1400176a8
mov esi, ecx
call fcn.14001be7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
mov rbx, rdi
test rdi, rdi
je 0x1400176a8
lea r8, [rbp - 0x50]
jmp 0x140017685
mov rax, qword [str._r_n_Clean_System__r_n]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x50]
mov qword [rsp + 0x50], rax
mov rax, qword [0x140038678]
mov qword [rsp + 0x58], rax
mov rax, qword [0x140038680]
mov qword [rsp + 0x60], rax
mov rax, qword [0x140038688]
mov qword [rsp + 0x68], rax
mov eax, dword [0x140038690]
mov dword [rsp + 0x70], eax
movzx eax, word [0x140038694]
mov word [rsp + 0x74], ax
movzx eax, byte [0x140038696]
mov byte [rsp + 0x76], al
xor eax, eax
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x1400176a8
mov esi, ecx
call fcn.14001be7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
mov rbx, rdi
test rdi, rdi
je 0x1400176a8
lea r8, [rsp + 0x50]
mov r9d, r12d
mov rdx, rsi
mov rcx, rbx
call fcn.14001b49c
test eax, eax
jne 0x1400176a0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001be3c
cmp qword [0x140044d18], r14
jne 0x1400176ef
mov rcx, qword [0x140044d40]
test rcx, rcx
je 0x1400176d0
cmp rcx, 0xffffffffffffffff
je 0x1400176d0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140044d40], r14
mov rcx, qword [0x140044d48]
test rcx, rcx
je 0x1400176ef
cmp rcx, 0xffffffffffffffff
je 0x1400176ef
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140044d48], r14
mov rcx, qword [0x140044d58]
test rcx, rcx
je 0x14001770c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [0x140044d58], r14
mov rcx, qword [0x140044d60]
test rcx, rcx
je 0x140017724
call fcn.14001be3c
mov qword [0x140044d60], r14
mov rcx, qword [0x140044d68]
test rcx, rcx
je 0x14001773c
call fcn.14001be3c
mov qword [0x140044d68], r14
mov rax, qword [str._Completed_memory_allocation_tracking_reporting]
mov ecx, 3
mov qword [rsp + 0x78], rax
mov rax, qword [0x1400386a0]
mov qword [rbp - 0x80], rax
mov rax, qword [0x1400386a8]
mov qword [rbp - 0x78], rax
mov rax, qword [0x1400386b0]
mov qword [rbp - 0x70], rax
mov rax, qword [0x1400386b8]
mov qword [rbp - 0x68], rax
mov rax, qword [0x1400386c0]
mov qword [rbp - 0x60], rax
movzx eax, byte [0x1400386c8]
mov byte [rbp - 0x58], al
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x1400177ce
lea r9d, [rax + 2]
lea r8, [0x140034f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x1400177c6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov ecx, 0x1d
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x18], eax
mov byte [rdi + 0x1c], al
test rdi, rdi
je 0x14001781e
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x140017816
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x78]
repne scasb al, byte [rdi]
not rcx
lea r12, [rcx - 1]
and ecx, ecx
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140017884
mov esi, ecx
call fcn.14001be7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001c640
mov rbx, rdi
test rdi, rdi
je 0x140017884
lea r8, [rsp + 0x78]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001b49c
test eax, eax
jne 0x14001787c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001be3c
mov ecx, 0x1d
call fcn.14001be7c
mov r12, qword [rsp + 0x378]
mov rsi, qword [rsp + 0x3b0]
mov rbx, qword [rsp + 0x3a8]
mov rdi, rax
xor eax, eax
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov dword [rdi + 0x18], eax
mov byte [rdi + 0x1c], al
test rdi, rdi
je 0x1400178ec
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x1400178e4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov ecx, 3
call fcn.14001be7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x140017931
lea r9d, [rax + 2]
lea r8, [0x140034f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001b49c
test eax, eax
jne 0x140017929
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001be3c
mov rdi, qword [rsp + 0x380]
cmp byte [0x140044d30], 1
jne 0x14001795d
lea rcx, [0x140044cd0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [0x140044d30], r14b
mov byte [0x1400427c4], 1
mov qword [0x140044d38], r14
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.14001a510
add rsp, 0x388
pop r14
pop rbp
ret