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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebx, dword [0x4b1570]
mov esi, dword [esp + 0x50]
test ebx, ebx
jne 0x45d114
mov edx, dword [0x51a3c8]
test edx, edx
jne 0x45d120
call fcn.0045c690
test eax, eax
je 0x45d114
mov eax, dword [0x51a3c8]
test eax, eax
je 0x45d320
mov esi, dword [0x51a3c4]
test esi, esi
jne 0x45d220
mov ecx, dword [0x51a420]
test ecx, ecx
je 0x45d1f8
mov edx, dword [0x4b1564]
test edx, edx
jne 0x45d618
call fcn.00464500
mov dword [esp + 4], 1
mov dword [esp], 0
call fcn.0046e630
mov eax, dword [0x51a3b8]
test eax, eax
je 0x45cfbf
call eax
call fcn.00461e30
mov dword [0x51a3d4], 0
mov dword [0x51a404], 1
cmp dword [0x488238], 0xf423f
je 0x45cfef
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x51a410], eax
call fcn.00460b00
xor edi, edi
mov esi, eax
call fcn.0045f1a0
mov eax, dword [0x4b1564]
test eax, eax
jne 0x45d2c0
call fcn.00465720
mov eax, dword [0x51a400]
test eax, eax
je 0x45d021
mov dword [esp], 6
call eax
call fcn.0046b5b0
mov eax, dword [0x51a400]
test eax, eax
je 0x45d2d0
mov dword [esp], 7
call eax
mov eax, dword [0x4b1564]
test eax, eax
jne 0x45d2dd
mov eax, dword [0x51a400]
test eax, eax
je 0x45d05b
mov dword [esp], 1
call eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00461c80
call fcn.00461e70
mov dword [0x51e510], 1
jmp 0x45d0b3
mov dword [esp], esi
call fcn.00463190
test eax, eax
jne 0x45d230
add ebx, 1
call fcn.0045bf70
test eax, eax
je 0x45d0a0
mov esi, dword [0x4b1564]
mov dword [0x51e510], 0
test esi, esi
jne 0x45d63e
mov eax, dword [0x51a400]
mov dword [0x51a3fc], ebx
test eax, eax
je 0x45d0ec
mov dword [esp], 8
call eax
call fcn.0046b6f0
mov eax, dword [0x51a400]
test eax, eax
je 0x45d103
mov dword [esp], 9
call eax
mov ecx, dword [0x51a404]
test ecx, ecx
jne 0x45d114
add dword [0x51a40c], 1
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.00461ca0
test eax, eax
je 0x45cf57
imul esi, dword [0x48822c]
cmp dword [0x488238], 0xf423f
je 0x45d14a
mov dword [0x51e510], 1
mov ebx, dword [0x51a3fc]
cmp esi, ebx
jg 0x45d16b
jmp 0x45d68a
add ebx, 1
cmp esi, ebx
je 0x45d308
mov dword [esp], 0
call fcn.00463190
test eax, eax
je 0x45d160
mov dword [0x51e510], 0
cmp esi, ebx
jle 0x45d1d2
mov eax, dword [0x51a3c4]
test eax, eax
jne 0x45d5f0
mov eax, dword [0x51a40c]
mov edx, dword [0x488228]
cmp dword [0x488238], 0xf423f
je 0x45d55a
cmp eax, edx
jl 0x45d54a
mov eax, 0x45bf60
call fcn.0045c010
test eax, eax
jne 0x45d600
add dword [0x51a40c], 1
mov eax, dword [0x51a3fc]
test eax, eax
jle 0x45d114
sub eax, esi
js 0x45d5d8
mov dword [0x51a3fc], eax
jmp 0x45d114
mov eax, dword [0x51a3d4]
cmp eax, dword [0x488240]
jge 0x45cf8d
add eax, 1
mov dword [0x51a3d4], eax
jmp 0x45cfd8
call fcn.0046c020
jmp 0x45cf7f
mov eax, dword [0x51a3c4]
test eax, eax
je 0x45d246
mov eax, dword [0x51e510]
test eax, eax
jne 0x45d528
mov ebp, dword [0x4b1578]
add dword [0x51a3cc], 1
mov dword [0x51e510], 0
test ebp, ebp
je 0x45d267
call dword [0x51a3b4]
mov eax, dword [0x51a400]
test eax, eax
je 0x45d286
mov dword [esp], 2
call eax
mov dword [esp], 8
call dword [0x51a400]
call fcn.0046b6f0
mov eax, dword [0x51a400]
test eax, eax
je 0x45d29d
mov dword [esp], 9
call eax
mov ebx, dword [0x4b1564]
test ebx, ebx
jne 0x45d570
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0045c9f0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edi, eax
jmp 0x45d00a
mov eax, dword [0x4b1564]
test eax, eax
je 0x45d05b
mov eax, dword [0x4b15a4]
mov dword [esp], str._n____Marking_for_collection__lu_after__lu_allocated_bytes_n
mov dword [esp + 8], eax
mov eax, dword [0x51a3cc]
add eax, 1
mov dword [esp + 4], eax
call fcn.0045aed0
jmp 0x45d049
mov dword [0x51e510], 0
jmp 0x45d1d2
mov ebx, dword [0x4b1570]
test ebx, ebx
jne 0x45d114
mov eax, dword [0x51a400]
test eax, eax
je 0x45d34d
mov dword [esp], 0
call eax
mov eax, dword [0x51a3c8]
test eax, eax
jne 0x45d653
mov eax, dword [0x51a3b8]
test eax, eax
je 0x45d358
call eax
mov eax, dword [0x4b1564]
xor edi, edi
mov ebp, eax
or ebp, dword [0x51a428]
je 0x45d37e
test eax, eax
jne 0x45d713
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, 1
mov edi, eax
call fcn.00464500
mov eax, dword [0x51a3c4]
test eax, eax
jne 0x45d6c6
mov esi, dword [0x4b1558]
test esi, esi
jne 0x45d6a5
call fcn.00461ed0
call fcn.00461e30
mov dword [0x51a404], 1
call fcn.00460b00
mov esi, eax
call fcn.0045f1a0
mov ecx, dword [0x4b1564]
test ecx, ecx
jne 0x45d6d0
mov dword [esp + 0x2c], 0
call fcn.00465720
mov eax, dword [0x51a400]
test eax, eax
je 0x45d3eb
mov dword [esp], 6
call eax
call fcn.0046b5b0
mov eax, dword [0x51a400]
test eax, eax
je 0x45d6df
mov dword [esp], 7
call eax
mov edx, dword [0x4b1564]
test edx, edx
jne 0x45d6ed
mov eax, dword [0x51a400]
test eax, eax
je 0x45d426
mov dword [esp], 1
call eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00461c80
call fcn.00461e70
jmp 0x45d46b
add ebx, 1
mov dword [esp], esi
call fcn.00463190
test eax, eax
je 0x45d468
mov eax, dword [0x51a3c4]
test eax, eax
je 0x45d496
mov eax, dword [0x51e510]
test eax, eax
je 0x45d496
mov eax, dword [0x4b1564]
test eax, eax
jne 0x45d80e
mov eax, dword [0x4b1578]
add dword [0x51a3cc], 1
mov dword [0x51e510], 0
test eax, eax
je 0x45d4b6
call dword [0x51a3b4]
mov eax, dword [0x51a400]
test eax, eax
je 0x45d4d5
mov dword [esp], 2
call eax
mov dword [esp], 8
call dword [0x51a400]
call fcn.0046b6f0
mov eax, dword [0x51a400]
test eax, eax
je 0x45d4ec
mov dword [esp], 9
call eax
mov eax, dword [0x4b1564]
test eax, eax
jne 0x45d792
call fcn.0045c9f0
test ebp, ebp
jne 0x45d724
mov eax, dword [0x51a400]
test eax, eax
je 0x45d114
mov dword [esp + 0x50], 5
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp eax
mov eax, dword [0x4b1564]
test eax, eax
je 0x45d246
mov dword [esp + 4], ebx
mov dword [esp], str.Stopped_marking_done_after__d_iterations_with_disabled_parallel_marker_n
call fcn.0045aed0
jmp 0x45d246
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x51a410], eax
mov eax, dword [0x51a40c]
cmp eax, dword [0x488228]
jge 0x45d1b9
mov eax, fcn.0045bf70
jmp 0x45d1be
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, dword [0x51a3f8]
mov ebx, dword [0x51a3f4]
sub eax, edi
mov ecx, eax
test edx, edx
js 0x45d60f
cmp ebx, 0x3e7
ja 0x45d60f
mov eax, 0x7fffffff
mov dword [esp + 8], 0
cmp ecx, eax
mov dword [esp + 4], ecx
cmovbe eax, ecx
add ebx, 1
mov dword [esp], str.World_stopped_marking_took__lu_ms__lu_ns___u_ms_in_average__n
mov dword [0x51a3f4], ebx
add eax, edx
xor edx, edx
mov dword [0x51a3f8], eax
div ebx
mov dword [esp + 0xc], eax
call fcn.0045aed0
jmp 0x45d2ab
mov dword [0x51a3fc], 0
jmp 0x45d114
call fcn.0046c020
jmp 0x45d196
call fcn.0045c9f0
mov eax, dword [0x51a3fc]
jmp 0x45d1d7
shr edx, 1
shr ebx, 1
jmp 0x45d596
mov eax, dword [0x4b15a4]
mov dword [esp], str._Full_mark_for_collection__lu_after__lu_allocd_bytes_n
mov dword [esp + 8], eax
mov eax, dword [0x51a3cc]
add eax, 1
mov dword [esp + 4], eax
call fcn.0045aed0
jmp 0x45cf9b
mov dword [esp + 4], ebx
mov dword [esp], str.Abandoned_stopped_marking_after__d_iterations_n
call fcn.0045aed0
jmp 0x45d0d4
call fcn.00461ca0
test eax, eax
je 0x45d34d
mov eax, dword [0x4b1564]
test eax, eax
je 0x45d67c
jmp 0x45d7fd
mov dword [esp], 1
call fcn.0045cf30
call fcn.00461ca0
test eax, eax
jne 0x45d670
jmp 0x45d34d
mov dword [0x51e510], 0
mov eax, ebx
sub eax, esi
test ebx, ebx
jg 0x45d1e7
jmp 0x45d114
mov dword [esp + 4], 0
mov dword [esp], 0x45bf60
call fcn.0046e630
test eax, eax
jne 0x45d39e
jmp 0x45d114
call fcn.0046c020
jmp 0x45d390
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x2c], eax
jmp 0x45d3d4
mov edx, dword [0x4b1564]
test edx, edx
je 0x45d426
mov eax, dword [0x4b15a4]
mov dword [esp], str._n____Marking_for_collection__lu_after__lu_allocated_bytes_n
mov dword [esp + 8], eax
mov eax, dword [0x51a3cc]
add eax, 1
mov dword [esp + 4], eax
call fcn.0045aed0
jmp 0x45d414
mov dword [esp], str.Initiating_full_world_stop_collection__n
call fcn.0045aed0
jmp 0x45d371
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebp, dword [0x51a428]
sub eax, edi
test ebp, ebp
je 0x45d767
mov edx, dword [0x51a430]
mov ecx, dword [0x51a42c]
add edx, eax
mov dword [0x51a430], edx
cmp ecx, 0xf423f
jbe 0x45d767
sub ecx, 0xf4240
add edx, 1
mov dword [0x51a42c], ecx
mov dword [0x51a430], edx
mov edi, dword [0x4b1564]
test edi, edi
je 0x45d506
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.Complete_collection_took__lu_ms__lu_ns_n
call fcn.0045aed0
jmp 0x45d506
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [0x51a3f8]
mov edx, dword [0x51a3f4]
sub eax, ecx
mov ecx, eax
test ebx, ebx
js 0x45d7f7
cmp edx, 0x3e7
ja 0x45d7f7
mov eax, 0x7fffffff
mov dword [esp + 8], 0
cmp ecx, eax
mov dword [esp + 4], ecx
cmovbe eax, ecx
mov dword [esp], str.World_stopped_marking_took__lu_ms__lu_ns___u_ms_in_average__n
add eax, ebx
lea ebx, [edx + 1]
xor edx, edx
mov dword [0x51a3f8], eax
div ebx
mov dword [0x51a3f4], ebx
mov dword [esp + 0xc], eax
call fcn.0045aed0
jmp 0x45d4f9
shr ebx, 1
shr edx, 1
jmp 0x45d7b8
mov dword [esp], str.GC_try_to_collect_inner:_finishing_collection_in_progress_n
call fcn.0045aed0
jmp 0x45d67c
mov dword [esp + 4], ebx
mov dword [esp], str.Stopped_marking_done_after__d_iterations_with_disabled_parallel_marker_n
call fcn.0045aed0
jmp 0x45d496