Function at 0x14000ab70
Capabilities:
Check for time delay via gettickcount
Get system information on windows
Query environment variable
Terminate process

Disassembly:
push rbp
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
test rax, rax
je 0x14000abc4
lea rdx, str.InitializeCriticalSectionAndSpinCount
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000abc4
mov edx, 0xfa0
lea rcx, [0x140043100]
call rax
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x14000abd4
mov rbx, qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x140043100]
call rbx
lea r13, [0x1400430c0]
lea rcx, [0x14006e480]
call rbx
mov rcx, r13
mov r12, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
call r12
mov eax, dword [0x1400430c4]
lea rcx, str.GC_PRINT_VERBOSE_STATS
mov dword [0x1400430a4], 1
mov qword [0x14006e4b0], rax
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000b672
mov dword [0x140043d94], 2
lea rcx, str.GC_DUMP_REGULARLY
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ac42
mov dword [0x14006e474], 1
lea rcx, str.GC_FIND_LEAK
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ac5d
mov dword [0x140043970], 1
lea rcx, str.GC_FINDLEAK_DELAY_FREE
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ac78
mov dword [0x14006e424], 1
lea rcx, str.GC_ALL_INTERIOR_POINTERS
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ac93
mov dword [0x140043d98], 1
lea rcx, str.GC_DONT_GC
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000acae
mov dword [0x140043974], 1
lea rcx, str.GC_PRINT_BACK_HEIGHT
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000acc9
mov dword [0x14006e470], 1
lea rcx, str.GC_NO_BLACKLIST_WARNING
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ace4
mov dword [0x140035020], 0x7fffffff
lea rcx, str.GC_TRACE
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ad03
xor edx, edx
lea rcx, str.GC_Warning:_Tracing_not_enabled:_Ignoring_GC_TRACE_value_n
call sym.GC_default_warn_proc.lto_priv.0
lea rcx, str.GC_PAUSE_TIME_TARGET
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ad26
mov rcx, rax
call sub.ucrtbase.dll_atol
test eax, eax
jle 0x14000ad26
mov dword [0x140035260], eax
lea rcx, str.GC_FULL_FREQUENCY
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ad49
mov rcx, rax
call sub.ucrtbase.dll_atoi
test eax, eax
jle 0x14000ad49
mov dword [0x140035248], eax
lea rcx, str.GC_LARGE_ALLOC_WARN_INTERVAL
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ad70
mov rcx, rax
call sub.ucrtbase.dll_atol
test eax, eax
jle 0x14000b312
mov dword [0x140035020], eax
lea rcx, str.GC_FREE_SPACE_DIVISOR
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ad96
mov rcx, rax
call sub.ucrtbase.dll_atoi
test eax, eax
jle 0x14000ad96
cdqe
mov qword [0x140035250], rax
mov rsi, qword [sym.imp.KERNEL32.dll_GetTickCount]
call rsi
mov ebx, dword [0x140043d98]
mov dword [0x1400430a0], eax
test ebx, ebx
je 0x14000adba
mov qword [0x140035070], 0xfffffffffffffff8
lea rdi, [0x14006e190]
lea rbx, [rdi - 0x2a3d0]
mov rdx, rdi
mov rcx, rbx
call sym.GC_exclude_static_roots_inner
lea rdx, [0x140035240]
lea rcx, [rdx - 0x200]
call sym.GC_exclude_static_roots_inner
cmp qword [0x140072500], 0
je 0x14000b696
call sym.GC_scratch_alloc.constprop.1
mov qword [0x140043e78], rax
mov rcx, rax
test rax, rax
je 0x14000bc8a
mov r8d, 0x2020
xor edx, edx
call sym.memset
lea rax, [0x14006a190]
movq xmm0, qword [0x140043e78]
punpcklqdq xmm0, xmm0
nop dword [rax]
movaps xmmword [rax], xmm0
add rax, 0x20
movaps xmmword [rax - 0x10], xmm0
cmp rax, rdi
jne 0x14000ae30
mov r11d, dword [0x140043978]
test r11d, r11d
je 0x14000b336
cmp dword [0x140043d94], 2
je 0x14000b961
test word [0x14006e4b0], 0xfff
jne 0x14000b40f
call sym.detect_GetWriteWatch
cmp qword [0x140043d88], 0
je 0x14000b78c
mov r10d, dword [0x140043d94]
test r10d, r10d
jne 0x14000b882
mov dword [0x140043978], 1
mov r8d, dword [0x140043d98]
test r8d, r8d
je 0x14000b38c
call sym.GC_scratch_alloc.constprop.0
mov qword [0x140043db0], rax
call sym.GC_scratch_alloc.constprop.0
mov rcx, qword [0x140043db0]
mov qword [0x140043da0], rax
mov rdi, rax
test rax, rax
je 0x14000bc64
test rcx, rcx
je 0x14000bc64
mov r8d, 0x8000
xor edx, edx
call sym.memset
mov r8d, 0x8000
xor edx, edx
mov rcx, rdi
call sym.memset
mov ecx, 0x1000
call sym.alloc_mark_stack
lea rcx, str.GC_INITIAL_HEAP_SIZE
call sub.ucrtbase.dll_getenv
mov rdi, rax
test rax, rax
je 0x14000b325
cmp byte [rax], 0
jne 0x14000b555
xor r13d, r13d
xor r12d, r12d
mov rdx, rdi
lea rcx, str.GC_Warning:_Bad_initial_heap_size__s___ignoring_it._n
call sym.GC_default_warn_proc.lto_priv.0
lea rcx, str.GC_MAXIMUM_HEAP_SIZE
call sub.ucrtbase.dll_getenv
mov rdi, rax
test rax, rax
je 0x14000af8a
cmp byte [rax], 0
jne 0x14000b5f0
xor r14d, r14d
cmp r14, r12
jae 0x14000af6e
mov rdx, rdi
lea rcx, str.GC_Warning:_Bad_maximum_heap_size__s___ignoring_it._n
call sym.GC_default_warn_proc.lto_priv.0
cmp qword [0x14006e438], 0
jne 0x14000af83
mov qword [0x14006e438], 2
mov qword [0x14006e450], r14
mov rcx, r13
call sym.GC_expand_hp_inner
test eax, eax
je 0x14000bc81
movsxd r10, dword [0x140043d98]
add qword [0x140043dc8], r12
test r10d, r10d
jne 0x14000b350
cmp byte [0x140049188], 0
jne 0x14000afc8
mov byte [0x140049188], 1
mov byte [0x140044158], 1
mov qword [0x140044d78], 1
xor edx, edx
mov r8d, 0x180
mov eax, 1
lea r9, [0x140044d78]
mov r11, 0xfffffffffffffff0
sub r8, r10
jmp 0x14000b011
lea rdx, [rdx + rax + 0xf]
shr rdx, 4
mov qword [r9 + rax*8], rdx
add rax, 1
cmp r8, rax
jb 0x14000b038
mov rdx, r10
mov rcx, r11
sub rcx, rdx
cmp rax, rcx
jb 0x14000aff8
movabs rdi, 0xfffffffffffffff
mov qword [r9 + rax*8], rdi
add rax, 1
cmp r8, rax
jae 0x14000b00e
nop dword [rax + rax]
mov dword [0x1400430f4], 1
mov ecx, dword [0x14006e4a8]
test ecx, ecx
jne 0x14000b192
mov dword [0x14006e4a8], 1
mov r14, qword [0x140072500]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edx, dword [0x140043978]
mov r13d, eax
test edx, edx
je 0x14000b082
mov eax, dword [0x140043960]
test eax, eax
je 0x14000b521
mov r15d, r13d
mov eax, dword [0x14006e190]
mov dword [0x14006e2cc], 1
shr r15d, 8
xor r15d, r13d
movzx r15d, r15b
test eax, eax
je 0x14000b8a5
mov r8, qword [0x140045378]
mov r10, qword [0x140035060]
lea r9, [r10 + r8*8]
mov r12, qword [r9]
test r12, r12
je 0x14000b8e2
mov rax, qword [r12]
mov qword [r9], rax
mov rax, r8
mov qword [r12], 0
shl rax, 4
add qword [0x140043e00], rax
lea rax, [0x140043160]
mov rdx, qword [rax + r15*8]
mov qword [r12], rdx
mov qword [rax + r15*8], r12
lea rax, [0x14006e200]
cmp r12, rax
je 0x14000b8cc
mov eax, dword [0x140043960]
test eax, eax
jne 0x14000b753
mov dword [0x14006e2cc], 0
mov rdi, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call rdi
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rbp - 0x88], rax
call rdi
mov dword [rsp + 0x30], 2
mov rdx, qword [rbp - 0x88]
mov r8, r15
mov dword [rsp + 0x28], 0
mov rcx, rax
lea r9, [r12 + 0x10]
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14000b711
mov qword [r12 + 0x20], 0xffffffffffffffff
mov qword [r12 + 0x18], r14
mov rax, qword [r12 + 0x18]
test rax, rax
je 0x14000b73c
mov dword [r12 + 8], r13d
mov eax, dword [0x14006e474]
test eax, eax
jne 0x14000b782
mov r15d, dword [0x140043974]
test r15d, r15d
jne 0x14000b2f0
mov r14d, dword [0x140043978]
test r14d, r14d
je 0x14000b1ee
mov r13d, dword [0x140043e90]
test r13d, r13d
je 0x14000b1ee
mov r12d, dword [0x140043d94]
test r12d, r12d
jne 0x14000babc
mov ecx, 1
call sym.GC_collect_a_little_inner.lto_priv.0
mov r11d, dword [0x140043e90]
test r11d, r11d
jne 0x14000b1d8
mov edi, dword [0x140043d94]
xor r12d, r12d
test edi, edi
jne 0x14000b426
call sym.GC_promote_black_lists
mov r10d, dword [0x140043970]
test r10d, r10d
jne 0x14000b477
mov rax, qword [0x140043e50]
mov rbx, qword [0x140043e28]
mov dword [0x140043e90], 5
sub rax, 0x10
mov qword [0x140043e60], rax
test rbx, rbx
je 0x14000b2a3
nop dword [rax]
mov r11d, 0x3ff
jmp 0x14000b278
test byte [rax + 0x19], 4
jne 0x14000b26f
mov rcx, qword [rbx + 0x2010]
xor edx, edx
shl rcx, 0xa
add rcx, r11
shl rcx, 0xc
call sym.clear_marks_for_block
sub r11, 1
test r11, r11
js 0x14000b297
mov rax, qword [rbx + r11*8]
cmp rax, 0xfff
ja 0x14000b250
lea rdx, [r11 - 1]
sub r11, rax
test rax, rax
cmove r11, rdx
test r11, r11
jns 0x14000b278
mov rbx, qword [rbx + 0x2000]
test rbx, rbx
jne 0x14000b240
lea rcx, [sym.GC_never_stop_func]
mov dword [0x140043e98], 0
mov dword [0x140043e90], 5
mov qword [0x140043e80], 0
mov dword [0x1400724fc], 1
call sym.GC_stopped_mark
test eax, eax
jne 0x14000b441
mov r9d, dword [0x140043978]
test r9d, r9d
je 0x14000b838
mov eax, dword [0x140043970]
test eax, eax
jne 0x14000b3f0
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor edx, edx
lea rcx, str.GC_Warning:_GC_LARGE_ALLOC_WARN_INTERVAL_environment_variable_has_bad_value:_Ignoring_n
call sym.GC_default_warn_proc.lto_priv.0
jmp 0x14000ad70
mov r13d, 0x10
mov r12d, 0x10000
jmp 0x14000af3a
lea rcx, str.GC_ENABLE_INCREMENTAL
call sub.ucrtbase.dll_getenv
test rax, rax
jne 0x14000ae50
jmp 0x14000ae99
lea rdx, [0x140049188]
mov ecx, 0x200
movabs rax, 0x101010101010101
mov qword [0x140044d78], 1
mov rdi, rdx
rep stosq qword [rdi], rax
cmp r10, 0x180
je 0x14000b038
mov rdx, r10
jmp 0x14000afd5
cmp qword [0x140043da8], 0
jne 0x14000aea9
call sym.GC_scratch_alloc.constprop.0
mov qword [0x140043db8], rax
call sym.GC_scratch_alloc.constprop.0
mov rcx, qword [0x140043db8]
mov qword [0x140043da8], rax
mov rdi, rax
test rcx, rcx
je 0x14000bc64
test rax, rax
je 0x14000bc64
xor edx, edx
mov r8d, 0x8000
call sym.memset
mov r8d, 0x8000
xor edx, edx
mov rcx, rdi
call sym.memset
jmp 0x14000aea9
lea rcx, [sym.GC_exit_check]
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp sym.atexit
lea rcx, str.Page_size_not_multiple_of_HBLKSIZE
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x14000ae6c
lea rcx, str.Initiating_full_world_stop_collection__n
mov edi, 1
call sym.GC_log_printf
call rsi
mov r12d, eax
jmp 0x14000b1ff
call sym.GC_finish_collection
test edi, edi
je 0x14000b2f0
call rsi
mov ecx, dword [0x140043d94]
mov edx, eax
test ecx, ecx
je 0x14000b2f0
sub edx, r12d
xor r8d, r8d
lea rcx, str.Complete_collection_took__lu_ms__lu_ns_n
call sym.GC_log_printf
jmp 0x14000b2f0
xor r13d, r13d
cmp dword [0x140043d94], 2
je 0x14000bab2
lea r14, [0x140035040]
mov rax, qword [r14 + 8]
lea rdx, [rax + 0x408]
lea r15, [rax + 8]
mov qword [rbp - 0x88], rdx
test rax, rax
je 0x14000b7e4
nop dword [rax]
mov r8, qword [r15]
test r8, r8
je 0x14000b7d0
mov rdx, r8
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [rbx + rax*8 + 0x263d0]
cmp qword [rax + 0x2010], rdx
je 0x14000b550
mov rcx, qword [0x140043e78]
jmp 0x14000b4f8
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x14000b550
cmp rax, rcx
jne 0x14000b4e8
mov rax, r8
shr rax, 0xc
and eax, 0x3ff
mov rax, qword [rcx + rax*8]
mov rcx, r8
mov rdx, qword [rax]
mov qword [r15], rdx
mov rdx, qword [rax + 0x20]
call sym.GC_reclaim_small_nonempty_block.constprop.0
jmp 0x14000b4b0
call sym.detect_GetWriteWatch
cmp qword [0x140043d88], 0
jne 0x14000b082
lea rcx, [sym.GC_write_fault_handler]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
jmp 0x14000b082
mov rcx, rax
jmp 0x14000b4fd
mov rcx, rax
lea rdx, [rbp - 0x70]
mov r8d, 0xa
call sub.ucrtbase.dll_strtoull
mov r12, rax
mov rax, qword [rbp - 0x70]
movzx ecx, byte [rax]
test cl, cl
je 0x14000b5d0
cmp byte [rax + 1], 0
jne 0x14000af25
sub ecx, 0x47
cmp cl, 0x26
ja 0x14000af25
movabs rdx, 0x100000001
mov eax, 1
shl rax, cl
test rax, rdx
jne 0x14000b893
movabs rdx, 0x4000000040
test rax, rdx
jne 0x14000bb07
movabs rdx, 0x1000000010
shl r12, 0xa
test rax, rdx
je 0x14000af25
mov r13, r12
shr r13, 0xc
cmp r12, 0x10000
ja 0x14000af3a
jmp 0x14000af2b
mov rcx, rax
lea rdx, [rbp - 0x70]
mov r8d, 0xa
call sub.ucrtbase.dll_strtoull
mov r14, rax
mov rax, qword [rbp - 0x70]
movzx ecx, byte [rax]
test cl, cl
je 0x14000af5a
cmp byte [rax + 1], 0
jne 0x14000af57
sub ecx, 0x47
cmp cl, 0x26
ja 0x14000af57
movabs rdx, 0x100000001
mov eax, 1
shl rax, cl
test rax, rdx
jne 0x14000b89c
movabs rdx, 0x4000000040
and rdx, rax
jne 0x14000bae0
movabs rcx, 0x1000000010
shl r14, 0xa
test rax, rcx
cmove r14, rdx
jmp 0x14000af5a
lea rcx, str.GC_PRINT_STATS
call sub.ucrtbase.dll_getenv
test rax, rax
je 0x14000ac27
mov dword [0x140043d94], 1
jmp 0x14000ac27
mov rax, qword [0x14006e4b0]
test rax, rax
je 0x14000b820
mov qword [rbp - 0x78], rbp
mov rdx, qword [rbp - 0x78]
neg rax
mov r8d, 0x30
and rax, rdx
lea rdx, [rbp - 0x70]
mov r12, rax
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp rax, 0x30
je 0x14000b6e2
lea rcx, [0x140038842]
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov eax, dword [rbp - 0x4c]
and ah, 0xfc
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x14000b6f8
sub eax, 0x40
and eax, 0xffffffbf
jne 0x14000b705
cmp dword [rbp - 0x50], 0x1000
jne 0x14000b705
add r12, qword [rbp - 0x58]
mov qword [0x140072500], r12
jmp 0x14000adf4
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.DuplicateHandle_failed:_errcode_0x_X_n
mov edx, eax
call sym.GC_log_printf
lea rcx, str.DuplicateHandle_failed
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x14000b171
lea rcx, str.Bad_stack_base_in_GC_register_my_thread
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x14000b18d
mov rax, r12
mov r8d, 1
shr rax, 0xc
and eax, 0x3ffff
mov rdx, rax
mov ecx, eax
shr rdx, 6
shl r8, cl
add rdx, 0x1c79
lock or qword [rbx + rdx*8], r8
jmp 0x14000b114
call sym.GC_dump_named.constprop.0
jmp 0x14000b1a0
lea rcx, [sym.GC_write_fault_handler]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov qword [0x14006e2c0], rax
test rax, rax
je 0x14000b951
mov r9d, dword [0x140043d94]
test r9d, r9d
je 0x14000ae8f
lea rcx, str.Replaced_other_UnhandledExceptionFilter_n
call sym.GC_log_printf
jmp 0x14000ae8f
mov rax, qword [rbp - 0x88]
add r15, 8
cmp r15, rax
jne 0x14000b4b0
add r14, 0x20
lea rax, [0x1400350a0]
cmp rax, r14
jne 0x14000b48e
cmp dword [0x140043d94], 2
jne 0x14000b214
call rsi
xor r8d, r8d
lea rcx, str.Disposing_of_reclaim_lists_took__lu_ms__lu_ns_n
sub eax, r13d
mov edx, eax
call sym.GC_log_printf
jmp 0x14000b214
mov rcx, r13
call r12
mov eax, dword [0x1400430c4]
mov qword [0x14006e4b0], rax
jmp 0x14000b6a6
mov rax, qword [0x140043e50]
mov r8d, dword [0x140043d98]
mov dword [0x140043e90], 5
sub rax, 0x10
mov qword [0x140043e60], rax
test r8d, r8d
je 0x14000bae9
mov rdx, qword [0x140043db0]
mov rcx, qword [0x140043da0]
mov r8d, 0x8000
call sym.memcpy
jmp 0x14000b2f0
lea rcx, str.Using_GetWriteWatch___n
call sym.GC_log_printf
jmp 0x14000ae8f
shl r12, 0x1e
jmp 0x14000b5d0
shl r14, 0x1e
jmp 0x14000af5a
lea rax, [0x140043160]
lea rdi, [0x14006e200]
mov dword [0x14006e190], 1
mov rdx, qword [rax + r15*8]
mov qword [rax + r15*8], rdi
mov qword [0x14006e200], rdx
mov dword [0x14006e2cc], 0
lea r12, [0x14006e200]
jmp 0x14000b11e
test r8, r8
je 0x14000b972
cmp qword [0x140035068], 0
je 0x14000bbf8
mov edx, 1
mov rcx, r8
mov qword [rbp - 0x90], r9
mov qword [rbp - 0x88], r8
call sym.GC_allocobj
test rax, rax
je 0x14000b930
mov r8, qword [rbp - 0x88]
mov r9, qword [rbp - 0x90]
mov r12, rax
jmp 0x14000b0c6
lea rcx, str.Failed_to_allocate_memory_for_thread_registering
mov dword [0x14006e2cc], 0
call sym.GC_default_on_abort.lto_priv.0
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x14000b11e
mov qword [0x14006e2c0], 0xffffffffffffffff
jmp 0x14000ae8f
lea rcx, str.Initializing_mprotect_virtual_dirty_bit_implementation_n
call sym.GC_log_printf
jmp 0x14000ae5d
mov eax, dword [0x1400430f4]
test eax, eax
je 0x14000bbd3
movsxd r11, dword [0x140043d98]
mov rdi, 0xfffffffffffffff0
movabs rax, 0xfffffffffffffff
sub rdi, r11
lea rdx, [r11 + 0xcf]
shr rdx, 4
cmp rdi, 0xc0
cmova rax, rdx
mov rcx, rax
lea r9, [rax + rax]
shl rcx, 4
mov rdx, rcx
sub rdx, r9
cmp qword [rbx + rdx*8 + 0xfb8], 0
jne 0x14000bb84
mov rdx, rcx
shr rdx, 2
sub rcx, rdx
cmp qword [rbx + rcx*8 + 0xfb8], 0
je 0x14000b9f8
lea r9, [0x140044d78]
add rcx, 1
cmp qword [r9 + rcx*8], 0
jne 0x14000b9ed
add rax, 1
mov r9d, 0x100
and rax, 0xfffffffffffffffe
mov rdi, rax
mov eax, pe_nt_image_headers64
cmp rdi, rax
cmova rdi, rax
mov rax, r9
xor edx, edx
div rdi
xor edx, edx
mov rdi, rax
mov rax, r9
div rdi
and rax, 0xfffffffffffffffe
mov rdx, rax
shl rax, 4
sub rax, r11
cmp rax, rcx
jb 0x14000ba9a
mov r9, rax
sub r9, rcx
cmp r9, 5
jbe 0x14000ba51
cmp rax, 0xffffffffffffffff
jne 0x14000bb10
lea r9, [0x140044d78]
mov r8, rax
sub r8, rcx
mov qword [r9 + rcx*8], rdx
add rcx, 1
and r8d, 1
cmp rax, rcx
jb 0x14000ba93
test r8, r8
je 0x14000ba81
mov qword [r9 + rcx*8], rdx
add rcx, 1
cmp rax, rcx
jb 0x14000ba93
mov qword [r9 + rcx*8], rdx
mov qword [r9 + rcx*8 + 8], rdx
add rcx, 2
cmp rax, rcx
jae 0x14000ba81
mov r8, qword [0x140045378]
lea r9, [r10 + r8*8]
mov rax, qword [r9]
test rax, rax
je 0x14000b8eb
mov r12, rax
jmp 0x14000b0c6
call rsi
mov r13d, eax
jmp 0x14000b487
lea rcx, str.GC_try_to_collect_inner:_finishing_collection_in_progress_n
call sym.GC_log_printf
mov edi, dword [0x140043e90]
test edi, edi
jne 0x14000b1d8
jmp 0x14000b1ee
shl r14, 0x14
jmp 0x14000af5a
mov rdx, qword [0x140043db8]
mov rcx, qword [0x140043da8]
mov r8d, 0x8000
call sym.memcpy
jmp 0x14000b864
shl r12, 0x14
jmp 0x14000b5d0
add r9, 1
lea rax, [rbx + rcx*8 + 0xfb8]
movq xmm0, rdx
mov r8, r9
punpcklqdq xmm0, xmm0
shr r8, 1
shl r8, 4
lea r11, [r8 + rax]
and r8d, 0x10
je 0x14000bb45
movups xmmword [rax], xmm0
add rax, 0x10
cmp rax, r11
je 0x14000bb55
movups xmmword [rax], xmm0
add rax, 0x20
movups xmmword [rax - 0x10], xmm0
cmp rax, r11
jne 0x14000bb45
mov rax, r9
mov r8, qword [0x140045378]
and rax, 0xfffffffffffffffe
add rax, rcx
and r9d, 1
je 0x14000ba9a
mov qword [rbx + rax*8 + 0xfb8], rdx
mov r8, qword [0x140045378]
jmp 0x14000ba9a
cmp qword [rbx + rdx*8 + 0xfc0], 0
lea rcx, [rdx + 1]
je 0x14000bba5
lea r9, [0x140044d78]
add rcx, 1
cmp qword [r9 + rcx*8], 0
jne 0x14000bb9a
movabs rdx, 0xfffffffffffffff
cmp rcx, rdi
jae 0x14000bbbd
lea rdx, [r11 + rcx + 0xf]
shr rdx, 4
mov r9, rdx
shr r9, 3
add rdx, r9
cmp rax, rdx
cmovb rax, rdx
jmp 0x14000b9f8
call sym.GC_init.part.0
mov r8, qword [0x140045378]
mov r10, qword [0x140035060]
test r8, r8
jne 0x14000ba9a
jmp 0x14000b980
mov ecx, 0x408
mov qword [rbp - 0x90], r8
mov qword [rbp - 0x88], r9
call sym.GC_scratch_alloc.lto_priv.0
mov rdx, rax
test rax, rax
je 0x14000b930
lea rdi, [rax + 8]
mov rcx, rax
mov qword [rax], 0
mov qword [rax + 0x400], 0
and rdi, 0xfffffffffffffff8
xor eax, eax
sub rcx, rdi
add ecx, 0x408
shr ecx, 3
rep stosq qword [rdi], rax
mov qword [0x140035068], rdx
mov r8, qword [rbp - 0x90]
mov r9, qword [rbp - 0x88]
jmp 0x14000b8f9
lea rcx, str.Insufficient_memory_for_black_list_n
call sym.GC_err_printf
xor ecx, ecx
call sym.GC_default_on_abort.lto_priv.0
mov ecx, 1
call sym.exit
lea rcx, str.Cant_start_up:_not_enough_memory_n
jmp 0x14000bc6b
lea rcx, str.Insufficient_memory_for_GC_all_nils_n
jmp 0x14000bc6b