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

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rbp + 0x10], rcx
mov eax, 0
mov dword [rbp - 8], eax
call fcn.0044c795
mov eax, dword [0x004571dc]
cmp eax, 0
je 0x4387a0
call sub.kernel32.dll_GetTickCount
mov dword [rbp - 8], eax
call fcn.0043d35b
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x4387cb
mov eax, 6
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
call fcn.0044e759
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x4387f6
mov eax, 7
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
mov eax, dword [0x004571dc]
cmp eax, 0
jne 0x43880a
jmp 0x438834
mov eax, dword [0x00456bc0]
add eax, 1
mov ecx, dword [0x004583f0]
mov r8, rcx
mov r11, rax
lea rax, str._n____Marking_for_collection__lu_after__lu_allocated_bytes_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044b07a
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x43885a
mov eax, 1
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
call fcn.00437d97
movabs rax, 0
mov qword [rsp + 0x28], rax
movabs rax, 0
mov qword [rsp + 0x20], rax
movabs rax, 0
mov r9, rax
movabs rax, 0
mov r8, rax
movabs rax, 0
mov r11, rax
movabs rax, 0
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004427ae
call fcn.00442d0b
mov eax, 0
mov dword [rbp - 4], eax
mov rax, qword [rbp + 0x10]
mov qword [rbp - 0x10], rax
mov r11, qword [rbp - 0x10]
call r11
cmp eax, 0
jne 0x43891b
jmp 0x4388f3
mov eax, dword [rbp - 4]
mov ecx, eax
add eax, 1
mov dword [rbp - 4], eax
jmp 0x4388c9
call fcn.00445d8a
mov r10, rax
mov rcx, r10
call fcn.00442dad
cmp eax, 0
je 0x438919
mov eax, 0xffffffff
mov dword [rbp - 4], eax
jmp 0x43891b
jmp 0x4388e6
mov eax, dword [rbp - 4]
cmp eax, 0
jl 0x4389ba
mov eax, dword [0x004571dc]
cmp eax, 0
jne 0x43893b
jmp 0x438956
mov eax, dword [rbp - 4]
mov r11, rax
lea rax, str.Abandoned_stopped_marking_after__d_iterations_n
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044b07a
mov eax, dword [rbp - 4]
mov dword [0x00456c60], eax
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x438985
mov eax, 8
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
call fcn.0044e876
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x4389b0
mov eax, 9
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
mov eax, 0
jmp 0x438bae
mov rax, qword [0x00456bc0]
mov rcx, rax
add rax, 1
mov qword [0x00456bc0], rax
mov eax, dword [0x004571dc]
cmp eax, 0
jne 0x4389e3
jmp 0x438a50
mov rax, qword [0x004583b0]
add rax, 0x1ff
shr rax, 0xa
shl rax, 0x20
shr rax, 0x20
mov rcx, qword [0x004583e8]
mov rdx, qword [0x004583b0]
sub rcx, rdx
add rcx, 0x1ff
shr rcx, 0xa
shl rcx, 0x20
shr rcx, 0x20
mov qword [rsp + 0x20], rcx
mov r9, rax
mov eax, dword [0x00457058]
mov r8, rax
mov eax, dword [0x00456bc0]
mov r11, rax
lea rax, str.GC__lu_freed__ld_bytes__heap__lu_KiB____lu_KiB_internal__n
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044b07a
mov eax, dword [0x004571c4]
cmp eax, 0
je 0x438a71
mov rax, qword [0x00456c70]
mov qword [rbp - 0x10], rax
mov r11, qword [rbp - 0x10]
call r11
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x438aac
mov eax, 2
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
mov eax, 8
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
call fcn.0044e876
mov rax, qword [0x00456c58]
cmp rax, 0
je 0x438ad7
mov eax, 9
mov r10, rax
mov rcx, r10
mov r11, qword [0x00456c58]
call r11
mov eax, dword [0x004571dc]
cmp eax, 0
je 0x438ba9
call sub.kernel32.dll_GetTickCount
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x20]
mov ecx, dword [rbp - 8]
sub eax, ecx
mov dword [rbp - 0x14], eax
mov eax, dword [0x00456c80]
mov dword [rbp - 0x18], eax
mov eax, dword [0x00456c84]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x18]
cmp eax, 0
jl 0x438b26
mov eax, dword [rbp - 0x1c]
cmp eax, 0x3e8
jb 0x438b38
mov eax, dword [rbp - 0x18]
shr eax, 1
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x1c]
shr eax, 1
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x14]
cmp eax, 0x7fffffff
jae 0x438b4c
jmp 0x438b56
mov eax, 0x7fffffff
jmp 0x438b59
mov eax, dword [rbp - 0x14]
mov ecx, dword [rbp - 0x18]
add ecx, eax
mov dword [rbp - 0x18], ecx
mov eax, dword [rbp - 0x18]
mov dword [0x00456c80], eax
mov eax, dword [rbp - 0x1c]
add eax, 1
mov dword [rbp - 0x1c], eax
mov dword [0x00456c84], eax
mov eax, dword [rbp - 0x18]
mov ecx, dword [rbp - 0x1c]
xor edx, edx
div ecx
mov r9, rax
mov eax, 0
mov r8, rax
mov eax, dword [rbp - 0x14]
mov r11, rax
lea rax, str.World_stopped_marking_took__lu_ms__lu_ns___u_ms_in_average__n
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0044b07a
mov eax, 1
leave
ret