Function at 0x140020220
Capabilities:
Print debug messages

Disassembly:
push rbp
push r13
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rax, qword [0x140053010]
xor rax, rsp
mov qword [rbp + 0x260], rax
lea rax, vtable.HPMemCollector.0
mov qword [rcx], rax
call fcn.140021350
xor r13d, r13d
test al, al
je 0x140020acf
movups xmm0, xmmword [str._Starting_memory_allocation_tracking_reporting]
movups xmm1, xmmword [0x140047540]
mov qword [rsp + 0x3a8], rbx
mov qword [rsp + 0x3b0], rsi
lea ecx, [r13 + 3]
mov qword [rsp + 0x3b8], rdi
mov qword [rsp + 0x378], r14
movups xmmword [rbp + 0x10], xmm0
movups xmm0, xmmword [0x140047550]
movups xmmword [rbp + 0x20], xmm1
movups xmmword [rbp + 0x30], xmm0
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov word [rbx], ax
mov byte [rbx + 2], al
test rbx, rbx
je 0x1400202e3
lea r9d, [r13 + 2]
lea r8, [0x140045914]
lea edx, [rax + 3]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x1400202db
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 0x1d
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1c], al
test rbx, rbx
je 0x140020333
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x14002032b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
or rsi, 0xffffffffffffffff
lea rax, [rbp + 0x10]
mov rdi, rsi
nop
inc rdi
cmp byte [rax + rdi], r13b
jne 0x140020340
lea ecx, [rdi + 1]
mov qword [rsp + 0x370], r15
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x1400203a2
mov r15d, ecx
call fcn.140025fd4
mov r8d, r15d
mov rcx, rax
xor edx, edx
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x1400203a2
lea r8, [rbp + 0x10]
mov r9d, edi
mov edx, r15d
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x14002039a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 0x1d
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1c], al
test rbx, rbx
je 0x1400203f2
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x1400203ea
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 3
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov word [rbx], ax
mov byte [rbx + 2], al
test rbx, rbx
je 0x140020437
lea r9d, [rax + 2]
lea r8, [0x140045914]
lea edx, [rax + 3]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x14002042f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov rbx, qword [0x140057718]
test rbx, rbx
jne 0x140020454
xor ecx, ecx
call fcn.140021900
mov rbx, rax
mov qword [0x140057718], rax
lea r8, [rsp + 0x20]
lea rdx, [0x140020b20]
mov ecx, 6
mov rdi, r13
mov qword [rsp + 0x20], r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExA]
test eax, eax
je 0x140020484
mov rcx, qword [rsp + 0x20]
call fcn.140021900
mov rdi, rax
test rbx, rbx
je 0x140020568
test rdi, rdi
je 0x140020575
movzx eax, byte [0x14004752e]
movsd xmm0, qword [str.Process_Name:]
mov ecx, dword [0x140047528]
mov byte [rsp + 0x4e], al
mov eax, dword [0x1400475a0]
movsd qword [rsp + 0x40], xmm0
movups xmm0, xmmword [str.Current_Module_Name:]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400475a4]
mov dword [rsp + 0x48], ecx
movups xmmword [rsp + 0x28], xmm0
movzx ecx, word [0x14004752c]
mov word [rsp + 0x3c], ax
mov rdx, rsi
lea rax, [rsp + 0x40]
mov word [rsp + 0x4c], cx
nop
inc rdx
cmp byte [rax + rdx], r13b
jne 0x1400204f0
lea rcx, [rsp + 0x40]
call fcn.140021f80
mov rdx, rsi
inc rdx
cmp byte [rbx + rdx], r13b
jne 0x140020506
mov rcx, rbx
call fcn.140021f80
lea rcx, [0x140045914]
mov edx, 2
call fcn.140021f80
lea rax, [rsp + 0x28]
mov rdx, rsi
inc rdx
cmp byte [rax + rdx], r13b
jne 0x140020530
lea rcx, [rsp + 0x28]
call fcn.140021f80
mov rdx, rsi
inc rdx
cmp byte [rdi + rdx], r13b
jne 0x140020546
mov rcx, rdi
call fcn.140021f80
lea rcx, [0x140045914]
mov edx, 2
call fcn.140021f80
test rdi, rdi
je 0x140020575
mov rcx, rdi
call fcn.140023db0
mov rbx, qword [0x140057768]
mov r14, r13
test rbx, rbx
je 0x1400205a7
nop dword [rax]
nop dword [rax + rax]
add r14, qword [rbx + 0x20]
xor edx, edx
mov rcx, rbx
call fcn.140021000
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140020590
movups xmm0, xmmword [str.Total_number_of_allocations_tracked:__d_n]
movups xmm1, xmmword [0x140047570]
movzx eax, byte [0x140047588]
lea rcx, [rbp + 0x41]
xor edx, edx
mov r8d, 0x103
mov byte [rbp + 8], al
mov byte [rbp + 0x40], r13b
movups xmmword [rbp - 0x20], xmm0
movsd xmm0, qword [0x140047580]
movups xmmword [rbp - 0x10], xmm1
movsd qword [rbp], xmm0
call fcn.140027190
mov r9d, dword [0x1400575f8]
lea r8, [rbp - 0x20]
lea rcx, [rbp + 0x40]
mov edx, 0x104
call fcn.140025fb0
lea rax, [rbp + 0x40]
mov rdi, rsi
nop dword [rax]
inc rdi
cmp byte [rax + rdi], r13b
jne 0x140020610
lea ecx, [rdi + 1]
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x14002067a
mov qword [rsp + 0x380], r12
mov r12d, ecx
call fcn.140025fd4
mov r8d, r12d
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x140020672
lea r8, [rbp + 0x40]
mov r9d, edi
mov edx, r12d
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x14002066a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov r12, qword [rsp + 0x380]
test r14, r14
je 0x1400207c4
mov eax, dword [0x1400475e8]
movups xmm0, xmmword [str.Total_leaked_size:__d_n]
lea rcx, [rbp + 0x151]
mov dword [rsp + 0x38], eax
movzx eax, word [0x1400475ec]
xor edx, edx
movups xmmword [rsp + 0x28], xmm0
mov word [rsp + 0x3c], ax
movzx eax, byte [0x1400475ee]
mov r8d, 0x103
mov byte [rsp + 0x3e], al
mov byte [rbp + 0x150], r13b
call fcn.140027190
lea r8, [rsp + 0x28]
lea rcx, [rbp + 0x150]
mov r9, r14
mov edx, 0x104
call fcn.140025fb0
lea rax, [rbp + 0x150]
mov rdi, rsi
nop
inc rdi
cmp byte [rax + rdi], r13b
jne 0x1400206f0
lea ecx, [rdi + 1]
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x14002074d
mov r15d, ecx
call fcn.140025fd4
mov r8d, r15d
mov rcx, rax
xor edx, edx
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x14002074d
lea r8, [rbp + 0x150]
mov r9d, edi
mov edx, r15d
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020745
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
movups xmm0, xmmword [str._r_n_Memory_was_leaked__r_n]
mov eax, dword [0x1400475d0]
movups xmm1, xmmword [0x1400475b8]
mov dword [rbp - 0x60], eax
lea rax, [rsp + 0x78]
mov rdi, rsi
movups xmmword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1400475c8]
movups xmmword [rbp - 0x78], xmm1
movsd qword [rbp - 0x68], xmm0
inc rdi
cmp byte [rax + rdi], r13b
jne 0x140020782
lea ecx, [rdi + 1]
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140020860
mov r15d, ecx
call fcn.140025fd4
mov r8d, r15d
mov rcx, rax
xor edx, edx
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x140020860
lea r8, [rsp + 0x78]
jmp 0x14002083d
mov eax, dword [0x140047648]
movups xmm0, xmmword [str._r_n_Clean_System__r_n]
movups xmm1, xmmword [0x140047638]
mov dword [rsp + 0x70], eax
movzx eax, word [0x14004764c]
mov rdi, rsi
mov word [rsp + 0x74], ax
movzx eax, byte [0x14004764e]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
mov byte [rsp + 0x76], al
lea rax, [rsp + 0x50]
inc rdi
cmp byte [rax + rdi], r13b
jne 0x140020805
lea ecx, [rdi + 1]
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140020860
mov r15d, ecx
call fcn.140025fd4
mov r8d, r15d
mov rcx, rax
xor edx, edx
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x140020860
lea r8, [rsp + 0x50]
mov r9d, edi
mov rdx, r15
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020858
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
cmp qword [0x140057768], r13
mov r15, qword [rsp + 0x370]
jne 0x1400208ad
mov rcx, qword [0x140057788]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14002088f
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140057788], r13
mov rcx, qword [0x140057600]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1400208ad
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [0x140057600], r13
mov rcx, qword [0x140057728]
test rcx, rcx
je 0x1400208ca
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [0x140057728], r13
mov rcx, qword [0x140057718]
test rcx, rcx
je 0x1400208e2
call fcn.140023db0
mov qword [0x140057718], r13
mov rcx, qword [0x140057730]
test rcx, rcx
je 0x1400208fa
call fcn.140023db0
mov qword [0x140057730], r13
movups xmm0, xmmword [str._Completed_memory_allocation_tracking_reporting]
movups xmm1, xmmword [0x140047600]
movzx eax, byte [0x140047620]
mov ecx, 3
mov byte [rbp - 0x28], al
movups xmmword [rbp - 0x58], xmm0
movups xmm0, xmmword [0x140047610]
movups xmmword [rbp - 0x48], xmm1
movups xmmword [rbp - 0x38], xmm0
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov word [rbx], ax
mov byte [rbx + 2], al
test rbx, rbx
je 0x14002096a
lea r9d, [rax + 2]
lea r8, [0x140045914]
lea edx, [rax + 3]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020962
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 0x1d
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1c], al
test rbx, rbx
je 0x1400209ba
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x1400209b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
lea rax, [rbp - 0x58]
nop
inc rsi
cmp byte [rax + rsi], r13b
jne 0x1400209c0
lea ecx, [rsi + 1]
lea eax, [rcx - 1]
cmp eax, 0x7ffdeeff
ja 0x140020a1a
mov r14d, ecx
call fcn.140025fd4
mov r8d, r14d
mov rcx, rax
xor edx, edx
mov rbx, rax
call fcn.140027190
test rbx, rbx
je 0x140020a1a
lea r8, [rbp - 0x58]
mov r9d, esi
mov edx, r14d
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020a12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 0x1d
call fcn.140025fd4
mov r14, qword [rsp + 0x378]
mov rdi, qword [rsp + 0x3b8]
mov rsi, qword [rsp + 0x3b0]
mov rbx, rax
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov dword [rbx + 0x18], eax
mov byte [rbx + 0x1c], al
test rbx, rbx
je 0x140020a82
lea r9d, [rax + 0x1c]
lea r8, str.____________
lea edx, [rax + 0x1d]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020a7a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov ecx, 3
call fcn.140025fd4
mov rbx, rax
xor eax, eax
mov word [rbx], ax
mov byte [rbx + 2], al
test rbx, rbx
je 0x140020ac7
lea r9d, [rax + 2]
lea r8, [0x140045914]
lea edx, [rax + 3]
mov rcx, rbx
call fcn.140024d98
test eax, eax
jne 0x140020abf
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rbx
call fcn.140023db0
mov rbx, qword [rsp + 0x3a8]
cmp byte [0x1400575fc], 1
jne 0x140020af3
lea rcx, [0x140057738]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [0x1400575fc], r13b
mov byte [0x140054924], 1
mov qword [0x140057720], r13
mov rcx, qword [rbp + 0x260]
xor rcx, rsp
call fcn.140023790
add rsp, 0x388
pop r13
pop rbp
ret