Function at 0x140017ff0
Capabilities:
Print debug messages

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rax, qword [0x1400420e0]
xor rax, rsp
mov qword [rbp + 0x260], rax
lea rax, vtable.HPMemCollector.0
mov qword [rcx], rax
call fcn.140019220
xor r14d, r14d
test al, al
je 0x140018939
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 [0x1400395a8]
mov qword [rsp + 0x380], rdi
mov qword [rbp + 0x18], rax
mov rax, qword [0x1400395b0]
lea ecx, [r14 + 3]
mov qword [rbp + 0x20], rax
mov rax, qword [0x1400395b8]
mov qword [rsp + 0x378], r12
mov qword [rbp + 0x28], rax
mov rax, qword [0x1400395c0]
mov qword [rsp + 0x370], r13
mov qword [rbp + 0x30], rax
mov rax, qword [0x1400395c8]
mov qword [rbp + 0x38], rax
call fcn.14001ce7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x1400180dc
lea r9d, [r14 + 2]
lea r8, [0x140035f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x1400180d4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov ecx, 0x1d
call fcn.14001ce7c
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 0x14001812c
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x140018124
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
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 0x140018190
mov esi, ecx
call fcn.14001ce7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
mov rbx, rdi
test rdi, rdi
je 0x140018190
lea r8, [rbp + 0x10]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001c49c
test eax, eax
jne 0x140018188
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001ce3c
mov ecx, 0x1d
call fcn.14001ce7c
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 0x1400181e0
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x1400181d8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov ecx, 3
call fcn.14001ce7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x140018225
lea r9d, [rax + 2]
lea r8, [0x140035f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x14001821d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov rbx, qword [0x140045d60]
test rbx, rbx
jne 0x140018242
xor ecx, ecx
call fcn.140019720
mov rbx, rax
mov qword [0x140045d60], rax
lea r8, [rsp + 0x20]
lea rdx, [0x140018980]
mov ecx, 6
mov rsi, r14
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
test eax, eax
je 0x140018272
mov rcx, qword [rsp + 0x20]
call fcn.140019720
mov rsi, rax
test rbx, rbx
je 0x140018371
test rsi, rsi
je 0x14001837e
mov rcx, qword [str.Process_Name:]
movzx eax, byte [0x1400395de]
lea rdi, [rsp + 0x40]
mov byte [rsp + 0x4e], al
mov rax, qword [str.Current_Module_Name:]
mov qword [rsp + 0x40], rcx
mov ecx, dword [0x1400395d8]
mov qword [rsp + 0x28], rax
mov rax, qword [0x1400395e8]
mov dword [rsp + 0x48], ecx
movzx ecx, word [0x1400395dc]
mov qword [rsp + 0x30], rax
mov eax, dword [0x1400395f0]
mov word [rsp + 0x4c], cx
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400395f4]
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.140019d50
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.140019d50
lea rcx, [0x140035f60]
mov edx, 2
call fcn.140019d50
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.140019d50
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.140019d50
lea rcx, [0x140035f60]
mov edx, 2
call fcn.140019d50
test rsi, rsi
je 0x14001837e
mov rcx, rsi
call fcn.14001ce3c
mov rdi, qword [0x140045d18]
mov rbx, r14
test rdi, rdi
je 0x1400183a7
nop dword [rax]
add rbx, qword [rdi + 0x20]
xor edx, edx
mov rcx, rdi
call fcn.140018ed0
mov rdi, qword [rdi + 0x10]
test rdi, rdi
jne 0x140018390
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 [0x140039600]
mov r8d, 0x103
mov qword [rbp - 0x18], rax
mov rax, qword [0x140039608]
mov byte [rbp + 0x40], r14b
mov qword [rbp - 0x10], rax
mov rax, qword [0x140039610]
mov qword [rbp - 8], rax
mov rax, qword [0x140039618]
mov qword [rbp], rax
movzx eax, byte [0x140039620]
mov byte [rbp + 8], al
call fcn.14001d640
mov r9d, dword [0x140045d34]
lea r8, [rbp - 0x20]
lea rcx, [rbp + 0x40]
mov edx, 0x104
call fcn.14001ce18
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 0x140018479
mov r12d, ecx
call fcn.14001ce7c
mov r8d, r12d
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
test rdi, rdi
je 0x140018479
lea r8, [rbp + 0x40]
mov r9d, r13d
mov edx, r12d
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x140018471
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov r13, qword [rsp + 0x370]
test rbx, rbx
je 0x1400185f0
mov rax, qword [str.Total_leaked_size:__d_n]
lea rcx, [rbp + 0x151]
xor edx, edx
mov qword [rsp + 0x28], rax
mov rax, qword [0x140039630]
mov r8d, 0x103
mov qword [rsp + 0x30], rax
mov eax, dword [0x140039638]
mov byte [rbp + 0x150], r14b
mov dword [rsp + 0x38], eax
movzx eax, word [0x14003963c]
mov word [rsp + 0x3c], ax
movzx eax, byte [0x14003963e]
mov byte [rsp + 0x3e], al
call fcn.14001d640
lea r8, [rsp + 0x28]
lea rcx, [rbp + 0x150]
mov r9, rbx
mov edx, 0x104
call fcn.14001ce18
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 0x140018561
mov esi, ecx
call fcn.14001ce7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
mov rbx, rdi
test rdi, rdi
je 0x140018561
lea r8, [rbp + 0x150]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001c49c
test eax, eax
jne 0x140018559
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001ce3c
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 [0x140039648]
mov qword [rbp - 0x48], rax
mov rax, qword [0x140039650]
mov qword [rbp - 0x40], rax
mov rax, qword [0x140039658]
mov qword [rbp - 0x38], rax
mov rax, qword [0x140039660]
mov qword [rbp - 0x30], rax
mov eax, dword [0x140039668]
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 0x1400186a8
mov esi, ecx
call fcn.14001ce7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
mov rbx, rdi
test rdi, rdi
je 0x1400186a8
lea r8, [rbp - 0x50]
jmp 0x140018685
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 [0x140039678]
mov qword [rsp + 0x58], rax
mov rax, qword [0x140039680]
mov qword [rsp + 0x60], rax
mov rax, qword [0x140039688]
mov qword [rsp + 0x68], rax
mov eax, dword [0x140039690]
mov dword [rsp + 0x70], eax
movzx eax, word [0x140039694]
mov word [rsp + 0x74], ax
movzx eax, byte [0x140039696]
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 0x1400186a8
mov esi, ecx
call fcn.14001ce7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
mov rbx, rdi
test rdi, rdi
je 0x1400186a8
lea r8, [rsp + 0x50]
mov r9d, r12d
mov rdx, rsi
mov rcx, rbx
call fcn.14001c49c
test eax, eax
jne 0x1400186a0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001ce3c
cmp qword [0x140045d18], r14
jne 0x1400186ef
mov rcx, qword [0x140045d40]
test rcx, rcx
je 0x1400186d0
cmp rcx, 0xffffffffffffffff
je 0x1400186d0
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140045d40], r14
mov rcx, qword [0x140045d48]
test rcx, rcx
je 0x1400186ef
cmp rcx, 0xffffffffffffffff
je 0x1400186ef
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140045d48], r14
mov rcx, qword [0x140045d58]
test rcx, rcx
je 0x14001870c
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [0x140045d58], r14
mov rcx, qword [0x140045d60]
test rcx, rcx
je 0x140018724
call fcn.14001ce3c
mov qword [0x140045d60], r14
mov rcx, qword [0x140045d68]
test rcx, rcx
je 0x14001873c
call fcn.14001ce3c
mov qword [0x140045d68], r14
mov rax, qword [str._Completed_memory_allocation_tracking_reporting]
mov ecx, 3
mov qword [rsp + 0x78], rax
mov rax, qword [0x1400396a0]
mov qword [rbp - 0x80], rax
mov rax, qword [0x1400396a8]
mov qword [rbp - 0x78], rax
mov rax, qword [0x1400396b0]
mov qword [rbp - 0x70], rax
mov rax, qword [0x1400396b8]
mov qword [rbp - 0x68], rax
mov rax, qword [0x1400396c0]
mov qword [rbp - 0x60], rax
movzx eax, byte [0x1400396c8]
mov byte [rbp - 0x58], al
call fcn.14001ce7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x1400187ce
lea r9d, [rax + 2]
lea r8, [0x140035f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x1400187c6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov ecx, 0x1d
call fcn.14001ce7c
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 0x14001881e
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x140018816
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
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 0x140018884
mov esi, ecx
call fcn.14001ce7c
mov r8d, esi
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14001d640
mov rbx, rdi
test rdi, rdi
je 0x140018884
lea r8, [rsp + 0x78]
mov r9d, r12d
mov edx, esi
mov rcx, rbx
call fcn.14001c49c
test eax, eax
jne 0x14001887c
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.14001ce3c
mov ecx, 0x1d
call fcn.14001ce7c
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 0x1400188ec
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x1400188e4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov ecx, 3
call fcn.14001ce7c
mov rdi, rax
xor eax, eax
mov word [rdi], ax
mov byte [rdi + 2], al
test rdi, rdi
je 0x140018931
lea r9d, [rax + 2]
lea r8, [0x140035f60]
lea edx, [rax + 3]
mov rcx, rdi
call fcn.14001c49c
test eax, eax
jne 0x140018929
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.14001ce3c
mov rdi, qword [rsp + 0x380]
cmp byte [0x140045d30], 1
jne 0x14001895d
lea rcx, [0x140045cd0]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [0x140045d30], r14b
mov byte [0x1400437c4], 1
mov qword [0x140045d38], r14
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.14001b510
add rsp, 0x388
pop r14
pop rbp
ret