Function at 0x14012dbe0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push rdi
push r12
push r13
sub rsp, 0x40
xor edi, edi
mov qword [rsp + 0x70], rbp
cmp dword [0x1402cc6cc], edi
mov r13d, edi
mov r12d, edi
mov dword [rsp + 0x60], edi
je 0x14012dc0c
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r13d, eax
mov rdx, qword [0x1402cc7a8]
test rdx, rdx
je 0x14012dc1f
mov ecx, 3
call rdx
mov rcx, qword [0x1402ccbc8]
test rcx, rcx
jle 0x14012dc32
add qword [0x1402cc6d8], rcx
cmp dword [0x1402cc6e0], edi
mov qword [0x1402ccbc8], rdi
je 0x14012dc48
xor ecx, ecx
call fcn.14012b480
cmp dword [0x1402cc6a4], edi
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r15
je 0x14012dd26
cmp dword [0x1402c23f0], edi
mov ebp, edi
jbe 0x14012dd1c
lea r12, [0x1402c20d0]
nop dword [rax]
mov eax, ebp
mov r14d, 8
lea r15, [rax + rax*2]
add r15, r15
nop
mov rax, qword [r12 + r15*8]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x14012dcfa
mov rbx, rdi
and rbx, 0xfffffffffffff000
mov rcx, rbx
mov rsi, rbx
call fcn.14012ef70
mov rdx, rax
nop word [rax + rax]
mov rcx, rdi
sub rcx, rbx
shr rcx, 4
cmp byte [rcx + rdx + 0x40], 0
jne 0x14012dce1
mov byte [rcx + rdx + 0x40], 1
mov rax, qword [rdx + 0x38]
inc rax
mov qword [rdx + 0x38], rax
mov rdi, qword [rdi]
test rdi, rdi
je 0x14012dcfa
mov rbx, rdi
and rbx, 0xfffffffffffff000
cmp rbx, rsi
je 0x14012dcc0
jmp 0x14012dca7
add r14, 8
cmp r14, 0x400
jbe 0x14012dc90
inc ebp
cmp ebp, dword [0x1402c23f0]
jb 0x14012dc80
mov r12d, dword [rsp + 0x60]
xor edi, edi
mov ecx, 1
call fcn.140131af0
call fcn.1401231b0
cmp dword [0x1402cc6cc], 0
je 0x14012dd41
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r12d, eax
mov dword [rsp + 0x60], eax
cmp dword [0x1402cc6d0], 0
je 0x14012dd56
lea rcx, str.Back_height_not_available:_Rebuild_collector_with__DMAKE_BACK_GRAPH_n
call fcn.14012b690
cmp dword [0x1402c23f0], 0
mov ebp, edi
jbe 0x14012de22
lea r12, [0x1402c20d0]
nop dword [rax]
mov eax, ebp
mov r14d, 8
lea r15, [rax + rax*2]
add r15, r15
nop
mov rax, qword [r12 + r15*8]
mov rdi, qword [r14 + rax]
test rdi, rdi
je 0x14012ddfc
mov rbx, rdi
and rbx, 0xfffffffffffff000
mov rcx, rbx
mov rsi, rbx
call fcn.14012ef70
mov r8, qword [rax + 0x20]
nop word [rax + rax]
mov rdx, rdi
sub rdx, rbx
shr rdx, 4
cmp byte [rdx + rax + 0x40], 0
je 0x14012dddc
mov rcx, qword [rax + 0x38]
mov byte [rdx + rax + 0x40], 0
sub rcx, 1
jne 0x14012ddd8
cmp dword [0x1402cc710], ecx
jne 0x14012dddc
mov qword [rax + 0x38], rcx
sub qword [0x1402ccbc8], r8
mov rdi, qword [rdi]
test rdi, rdi
je 0x14012ddfc
mov rbx, rdi
and rbx, 0xfffffffffffff000
cmp rbx, rsi
je 0x14012ddb0
jmp 0x14012dd97
add r14, 8
cmp r14, 0x400
jbe 0x14012dd80
inc ebp
cmp ebp, dword [0x1402c23f0]
jb 0x14012dd70
mov r12d, dword [rsp + 0x60]
xor edi, edi
cmp dword [0x1402cc6cc], 2
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x70]
jne 0x14012de51
mov edx, dword [0x1402ccbc8]
lea rcx, str.Bytes_recovered_before_sweep___f.l._count___ld_n
call fcn.14012c5c0
xor ecx, ecx
call fcn.140131af0
cmp dword [0x1402cc6cc], 0
je 0x14012deed
mov r9, qword [0x1402cea08]
mov r10, qword [0x1402cea10]
mov rcx, qword [0x1402ce960]
sub rcx, qword [0x1402cea18]
lea r8, [r9 + r10]
cmp r8, rcx
jb 0x14012de8e
mov edx, edi
jmp 0x14012dec8
movabs rax, 0x28f5c28f5c28f5c
cmp r8, rax
jae 0x14012dea3
imul rax, r8, 0x64
jmp 0x14012dec0
movabs rax, 0x47ae147ae147ae15
mul rcx
mov rax, r8
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 6
xor edx, edx
div rcx
mov rdx, rax
lea r8, [r9 + 0x1ff]
lea rcx, [r10 + 0x1ff]
shr r8, 0xa
shr rcx, 0xa
mov r9d, ecx
lea rcx, str.In_use_heap:__d_____lu_KiB_pointers___lu_KiB_other__n
call fcn.14012c5c0
cmp dword [0x1402cc784], 0
je 0x14012df16
mov rdx, qword [0x1402ce960]
mov r8d, edi
mov rax, rdx
sub rax, qword [0x1402ce978]
mov qword [0x1402cc770], rax
jmp 0x14012df9c
cmp dword [0x1402cb890], 0
je 0x14012df28
mov rcx, qword [0x1402cc720]
jmp 0x14012df37
call fcn.140132c20
mov rcx, qword [0x1402cc6b8]
sub rcx, rax
mov rdx, qword [0x1402cea08]
add rdx, rcx
mov rcx, qword [0x1402cea10]
shr rcx, 2
add rcx, qword [0x1402ccd28]
lea rax, [rcx + rdx*2]
xor edx, edx
div qword [0x1402c2420]
cmp dword [0x1402cc748], 0
je 0x14012df6c
shr rax, 1
mov rcx, qword [0x1402c2430]
mov r8d, edi
mov rdx, qword [0x1402ce960]
cmp rax, rcx
cmova rcx, rax
mov rax, rdx
sub rax, qword [0x1402ce978]
sub rax, qword [0x1402cc770]
cmp rax, rcx
seta r8b
cmp dword [0x1402cc6cc], 2
mov dword [0x1402cc764], r8d
jne 0x14012dfc8
mov r9d, dword [0x1402cea18]
lea rcx, str.Immediately_reclaimed__ld_bytes__heapsize:__lu_bytes___lu_unmapped__n
mov r8d, edx
mov edx, dword [0x1402ccbc8]
call fcn.14012c5c0
mov rax, qword [0x1402ce9a0]
add qword [0x1402ce990], rax
mov rax, qword [0x1402cc728]
mov qword [0x1402cc788], rax
mov dword [0x1402cc77c], edi
mov dword [0x1402cc784], edi
mov qword [0x1402ce9a0], rdi
mov qword [0x1402ce9a8], rdi
mov qword [0x1402ce9b8], rdi
mov qword [0x1402ce9c0], rdi
call fcn.140130bc0
mov rax, qword [0x1402cc7a8]
test rax, rax
je 0x14012e024
mov ecx, 4
call rax
cmp dword [0x1402cc6cc], 0
je 0x14012e05a
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
call fcn.140124530
sub ebx, r12d
mov qword [rsp + 0x20], rdi
sub r12d, r13d
lea rcx, str.Finalize_and_initiate_sweep_took__lu_ms__lu_ns___lu_ms__lu_ns_n
mov edx, r12d
mov r9d, ebx
xor r8d, r8d
call fcn.14012c5c0
mov rbx, qword [rsp + 0x68]
add rsp, 0x40
pop r13
pop r12
pop rdi
ret