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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
mov rbp, rsp
sub rsp, 0x88
lea rcx, [0x00423a20]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x0044e400]
mov rbx, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
call rbx
mov eax, dword [0x0044e404]
lea rcx, str.GC_PRINT_VERBOSE_STATS
mov dword [0x0044e3e0], 1
mov qword [0x00423a08], rax
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40c815
mov dword [0x00423ed8], 2
lea rcx, str.GC_DUMP_REGULARLY
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bbd4
mov dword [0x00423a00], 1
lea rcx, str.GC_FIND_LEAK
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bbef
mov dword [0x00423a98], 1
lea rcx, str.GC_FINDLEAK_DELAY_FREE
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc0a
mov dword [0x004239fc], 1
lea rcx, str.GC_ALL_INTERIOR_POINTERS
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc25
mov dword [0x00423edc], 1
lea rcx, str.GC_DONT_GC
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc40
mov dword [0x00423a90], 1
lea rcx, str.GC_PRINT_BACK_HEIGHT
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc5b
mov dword [0x004239f8], 1
lea rcx, str.GC_NO_BLACKLIST_WARNING
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc76
mov dword [0x0041d900], 0x7fffffff
lea rcx, str.GC_TRACE
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bc95
lea rcx, str.GC_Warning:_Tracing_not_enabled:_Ignoring_GC_TRACE_value_n
xor edx, edx
call sym.GC_default_warn_proc.lto_priv.47
lea rcx, str.GC_PAUSE_TIME_TARGET
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bcb8
mov rcx, rax
call sub.msvcrt.dll_atol
test eax, eax
jle 0x40bcb8
mov dword [0x0041b03c], eax
lea rcx, str.GC_FULL_FREQUENCY
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bcdb
mov rcx, rax
call sub.msvcrt.dll_atoi
test eax, eax
jle 0x40bcdb
mov dword [0x0041b038], eax
lea rcx, str.GC_LARGE_ALLOC_WARN_INTERVAL
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bd02
mov rcx, rax
call sub.msvcrt.dll_atol
test eax, eax
jle 0x40c2c2
mov dword [0x0041d900], eax
lea rcx, str.GC_FREE_SPACE_DIVISOR
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bd28
mov rcx, rax
call sub.msvcrt.dll_atoi
test eax, eax
jle 0x40bd28
cdqe
mov qword [0x0041b030], rax
mov rdi, qword [sym.imp.KERNEL32.dll_GetTickCount]
call rdi
mov dword [0x0044e47c], eax
mov eax, dword [0x00423edc]
test eax, eax
je 0x40bd4c
mov qword [0x0041d730], 0xfffffffffffffff8
lea rdx, [0x0044e2d0]
lea rcx, [rdx - 0x2a3d0]
call sym.GC_exclude_static_roots_inner.lto_priv.64
lea rdx, [0x0041d900]
lea rcx, [rdx - 0x200]
call sym.GC_exclude_static_roots_inner.lto_priv.64
cmp qword [0x004239f0], 0
je 0x40c839
mov ecx, 0x2020
call sym.GC_scratch_alloc.lto_priv.66
test rax, rax
mov qword [0x00423fb8], rax
je 0x40ca8b
xor edx, edx
mov r8d, 0x2020
mov rcx, rax
call sym.memset
lea rax, [0x0044a2d0]
movddup xmm0, qword [0x00423fb8]
lea rdx, [rax + 0x4000]
movaps xmmword [rax], xmm0
add rax, 0x10
cmp rdx, rax
jne 0x40bdc0
mov eax, dword [0x00423eec]
test eax, eax
je 0x40c4f5
cmp dword [0x00423ed8], 2
je 0x40c9e0
test word [0x00423a08], 0xfff
jne 0x40c648
call sym.detect_GetWriteWatch.lto_priv.67
cmp qword [0x00423ee0], 0
je 0x40c8ca
mov eax, dword [0x00423ed8]
test eax, eax
jne 0x40c9cf
mov dword [0x00423eec], 1
mov r15d, dword [0x00423edc]
test r15d, r15d
je 0x40c476
mov ecx, 0x8000
call sym.GC_scratch_alloc.lto_priv.66
mov ecx, 0x8000
mov qword [0x00423eb0], rax
call sym.GC_scratch_alloc.lto_priv.66
mov rcx, qword [0x00423eb0]
test rax, rax
mov rbx, rax
mov qword [0x00423ea8], rax
je 0x40ca6e
test rcx, rcx
je 0x40ca6e
xor edx, edx
mov r8d, 0x8000
call sym.memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call sym.memset
mov ecx, 0x1000
call sym.alloc_mark_stack.lto_priv.54
lea rcx, str.GC_INITIAL_HEAP_SIZE
call sub.msvcrt.dll_getenv
test rax, rax
mov rsi, rax
je 0x40c50f
xor r13d, r13d
xor ebx, ebx
cmp byte [rax], 0
jne 0x40c5b0
lea rcx, str.GC_Warning:_Bad_initial_heap_size__s___ignoring_it._n
mov rdx, rsi
call sym.GC_default_warn_proc.lto_priv.47
lea rcx, str.GC_MAXIMUM_HEAP_SIZE
call sub.msvcrt.dll_getenv
test rax, rax
mov rsi, rax
je 0x40bf1b
xor r12d, r12d
cmp byte [rax], 0
jne 0x40c51f
cmp rbx, r12
jbe 0x40beff
lea rcx, str.GC_Warning:_Bad_maximum_heap_size__s___ignoring_it._n
mov rdx, rsi
call sym.GC_default_warn_proc.lto_priv.47
cmp qword [0x004239e8], 0
jne 0x40bf14
mov qword [0x004239e8], 2
mov qword [0x004239e0], r12
mov rcx, r13
call sym.GC_expand_hp_inner.lto_priv.65
test eax, eax
je 0x40ca94
movsxd rsi, dword [0x00423edc]
add qword [0x00423f08], rbx
mov ebx, 0x180
sub rbx, rsi
test esi, esi
je 0x40c2f3
mov r8d, 0x1000
mov edx, 1
lea rcx, [0x004292c8]
call sym.memset
mov qword [0x00424eb8], 1
test rbx, rbx
je 0x40c026
lea rcx, [rsi + 0xf]
mov rax, rcx
not rax
cmp rax, 1
ja 0x40c317
mov eax, 1
mov rdx, rbx
mov r9d, 0x181
sub rdx, rax
sub r9, rsi
cmp rdx, 6
lea rdx, [rax + 1]
seta r8b
cmp r9, rdx
setae cl
test r8b, cl
je 0x40c7e5
cmp rbx, 0xffffffffffffffff
je 0x40c7e5
sub r9, rax
movdqa xmm0, xmmword [0x0041f470]
xor edx, edx
lea r8, [0x00423f00]
mov r11, r9
lea r10, [r8 + rax*8 + 0xfb8]
shr r11, 1
nop dword [rax]
nop word cs:[rax + rax]
mov rcx, rdx
add rdx, 1
shl rcx, 4
cmp rdx, r11
movups xmmword [r10 + rcx], xmm0
jb 0x40bff0
mov rdx, r9
and rdx, 0xfffffffffffffffe
add rax, rdx
cmp rdx, r9
je 0x40c026
movabs rbx, 0xfffffffffffffff
mov qword [r8 + rax*8 + 0xfb8], rbx
mov r14d, dword [0x004239cc]
mov dword [0x00423a8c], 1
test r14d, r14d
jne 0x40c062
mov rax, qword [0x004239f0]
mov dword [0x004239cc], 1
mov qword [rbp - 0x38], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea rcx, [rbp - 0x38]
mov edx, eax
call sym.GC_register_my_thread_inner
mov r13d, dword [0x00423a00]
test r13d, r13d
jne 0x40c8b6
mov r12d, dword [0x00423a90]
test r12d, r12d
jne 0x40c2a0
mov esi, dword [0x00423eec]
mov r13d, dword [0x00423ed8]
test esi, esi
je 0x40c0cd
mov ebx, dword [0x00423fd0]
test ebx, ebx
je 0x40c0cd
test r13d, r13d
jne 0x40ca4d
nop word cs:[rax + rax]
mov ecx, 1
call sym.GC_collect_a_little_inner.lto_priv.62
mov r10d, dword [0x00423fd0]
test r10d, r10d
jne 0x40c0b0
mov r13d, dword [0x00423ed8]
xor r14d, r14d
test r13d, r13d
je 0x40c0ec
lea rcx, [0x0041eb70]
mov r13d, 1
call sym.GC_log_printf
call rdi
mov r14d, eax
call sym.GC_promote_black_lists.lto_priv.68
mov r9d, dword [0x00423a98]
test r9d, r9d
jne 0x40c696
mov rax, qword [0x00423f90]
lea r10, [0x00423f00]
mov dword [0x00423fd0], 5
mov ebx, 1
mov r9, qword [0x00423f68]
mov r11d, 0x1000
sub rax, 0x10
test r9, r9
mov qword [0x00423fa0], rax
je 0x40c244
nop
mov r8d, 0x3ff
nop word cs:[rax + rax]
mov rax, qword [r9 + r8*8]
cmp rax, 0xfff
jbe 0x40c2e0
test byte [rax + 0x19], 4
jne 0x40c227
mov rsi, qword [r9 + 0x2010]
shl rsi, 0xa
add rsi, r8
mov rdx, rsi
shl rdx, 0xc
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [r10 + rax*8 + 0x263d0]
cmp qword [rax + 0x2010], rdx
je 0x40c1c5
mov rcx, qword [0x00423fb8]
jmp 0x40c1c0
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x40c1c5
cmp rcx, rax
jne 0x40c1b0
and esi, 0x3ff
mov rsi, qword [rax + rsi*8]
cmp byte [rsi + 0x18], 2
je 0x40c227
mov rax, qword [rsi + 0x20]
mov ecx, 1
mov edx, 0x20
cmp rax, 0x800
jbe 0x40c430
lea rax, [rsi + 0x40]
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x48], 0
mov qword [rsi + 0x50], 0
mov qword [rsi + 0x58], 0
mov qword [rsi + 0x60], 0
or qword [rax + rdx], rcx
mov qword [rsi + 0x38], 0
sub r8, 1
test r8, r8
jns 0x40c150
mov r9, qword [r9 + 0x2000]
test r9, r9
jne 0x40c140
lea rcx, [sym.GC_never_stop_func.lto_priv.42]
mov dword [0x00423fd8], 0
mov dword [0x00423fd0], 5
mov qword [0x00423fc0], 0
mov dword [0x004239c8], 1
call sym.GC_stopped_mark.lto_priv.69
test eax, eax
jne 0x40c65f
mov r8d, dword [0x00423eec]
test r8d, r8d
je 0x40c98b
nop dword [rax + rax]
nop word cs:[rax + rax]
mov eax, dword [0x00423a98]
test eax, eax
jne 0x40c4e4
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, str.GC_Warning:_GC_LARGE_ALLOC_WARN_INTERVAL_environment_variable_has_bad_value:_Ignoring_n
xor edx, edx
call sym.GC_default_warn_proc.lto_priv.47
jmp 0x40bd02
lea rdx, [r8 - 1]
sub r8, rax
test rax, rax
cmove r8, rdx
jmp 0x40c22b
cmp byte [0x004292c8], 0
je 0x40c463
mov qword [0x00424eb8], 1
mov rax, 0xfffffffffffffff0
mov ecx, 0xf
mov r9d, 0x181
mov edx, 2
sub r9, rsi
cmp r9, rax
cmova r9, rax
cmp r9, 2
cmovae rdx, r9
lea r8, [rdx - 1]
sub rdx, 2
cmp rdx, 2
jbe 0x40c8c0
mov rdx, r8
movq xmm2, rsi
movdqa xmm0, xmmword [0x0041f430]
shr rdx, 1
punpcklqdq xmm2, xmm2
movdqa xmm4, xmmword [0x0041f440]
paddq xmm2, xmmword [0x0041f450]
lea rax, [0x00424ec0]
shl rdx, 4
movdqa xmm3, xmmword [0x0041f460]
add rdx, rax
nop dword [rax]
nop word cs:[rax + rax]
movdqa xmm1, xmm2
add rax, 0x10
paddq xmm1, xmm0
psrlq xmm1, 4
movaps xmmword [rax - 0x10], xmm1
movdqa xmm1, xmm0
cmp rdx, rax
paddq xmm0, xmm4
paddq xmm1, xmm3
jne 0x40c390
mov r10, r8
movhlps xmm5, xmm1
and r10, 0xfffffffffffffffe
movq rax, xmm5
lea rdx, [r10 + 1]
cmp r10, r8
je 0x40c419
lea rax, [rdx + rcx]
lea r8, [0x00423f00]
shr rax, 4
mov qword [r8 + rdx*8 + 0xfb8], rax
lea rax, [rdx + 1]
cmp rax, r9
jae 0x40c419
add rax, rcx
shr rax, 4
mov qword [r8 + rdx*8 + 0xfc0], rax
lea rax, [rdx + 2]
cmp rax, r9
jae 0x40c419
add rax, rcx
shr rax, 4
mov qword [r8 + rdx*8 + 0xfc8], rax
lea rax, [rdx + 3]
cmp rax, rbx
jbe 0x40bf8d
jmp 0x40c026
mov rcx, qword [rsi + 0x20]
mov rax, r11
xor edx, edx
mov r15, rbx
mov r12, qword [rsi + 0x20]
div r12
imul rax, rcx
mov rdx, rax
shr rax, 4
mov ecx, eax
shr rdx, 0xa
shl r15, cl
shl rdx, 3
mov rcx, r15
jmp 0x40c1ef
mov byte [0x004292c8], 1
mov byte [0x00424298], 1
jmp 0x40bf60
cmp qword [0x00423eb8], 0
jne 0x40be31
mov ecx, 0x8000
call sym.GC_scratch_alloc.lto_priv.66
mov ecx, 0x8000
mov qword [0x00423ec0], rax
call sym.GC_scratch_alloc.lto_priv.66
mov rcx, qword [0x00423ec0]
mov rbx, rax
mov qword [0x00423eb8], rax
test rcx, rcx
je 0x40ca6e
test rax, rax
je 0x40ca6e
xor edx, edx
mov r8d, 0x8000
call sym.memset
mov r8d, 0x8000
xor edx, edx
mov rcx, rbx
call sym.memset
jmp 0x40be31
lea rcx, [sym.GC_exit_check.lto_priv.43]
call sym.atexit
jmp 0x40c2ae
lea rcx, str.GC_ENABLE_INCREMENTAL
call sub.msvcrt.dll_getenv
test rax, rax
jne 0x40bdda
jmp 0x40be21
mov r13d, 0x10
mov ebx, 0x10000
jmp 0x40becb
lea rdx, [rbp - 0x38]
mov r8d, 0xa
mov rcx, rax
call sym.strtoumax
mov rdx, qword [rbp - 0x38]
mov r12, rax
movzx eax, byte [rdx]
test al, al
je 0x40beeb
cmp byte [rdx + 1], 0
jne 0x40c7d3
sub eax, 0x47
cmp al, 0x26
ja 0x40c7d3
mov ecx, eax
mov edx, 1
shl rdx, cl
mov rax, rdx
movabs rdx, 0x100000001
test rax, rdx
jne 0x40ca0a
movabs rdx, 0x4000000040
and rdx, rax
jne 0x40ca44
movabs rcx, 0x1000000010
shl r12, 0xa
test rax, rcx
cmove r12, rdx
jmp 0x40beeb
lea rdx, [rbp - 0x38]
mov r8d, 0xa
mov rcx, rax
call sym.strtoumax
mov rdx, qword [rbp - 0x38]
mov rbx, rax
movzx eax, byte [rdx]
test al, al
je 0x40c62f
cmp byte [rdx + 1], 0
jne 0x40c7c9
sub eax, 0x47
cmp al, 0x26
ja 0x40c7c9
mov ecx, eax
mov edx, 1
shl rdx, cl
mov rax, rdx
movabs rdx, 0x100000001
test rax, rdx
jne 0x40ca01
movabs rdx, 0x4000000040
test rax, rdx
jne 0x40ca3b
movabs rdx, 0x1000000010
shl rbx, 0xa
test rax, rdx
je 0x40c7c9
mov r13, rbx
shr r13, 0xc
cmp rbx, 0x10000
ja 0x40becb
jmp 0x40bebc
lea rcx, str.Page_size_not_multiple_of_HBLKSIZE
call sym.GC_default_on_abort.lto_priv.46
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x40bdf6
call sym.GC_finish_collection.lto_priv.70
test r13d, r13d
je 0x40c2a0
call rdi
mov edx, dword [0x00423ed8]
test edx, edx
je 0x40c2a0
lea rcx, [0x0041ebc8]
sub eax, r14d
xor r8d, r8d
mov edx, eax
call sym.GC_log_printf
jmp 0x40c2a0
cmp dword [0x00423ed8], 2
mov dword [rbp - 0x4c], 0
je 0x40ca13
lea r12, [0x0041d700]
mov qword [rbp - 0x58], rdi
lea rsi, [0x00423f00]
mov dword [rbp - 0x50], r13d
mov rdi, r12
mov rax, qword [rdi + 8]
lea rbx, [rax + 8]
test rax, rax
lea r15, [rax + 0x408]
je 0x40c91d
nop dword [rax + rax]
mov rcx, qword [rbx]
test rcx, rcx
je 0x40c910
mov rdx, rcx
shr rdx, 0x16
mov r9, rdx
and r9d, 0x7ff
add r9, 0x4c7a
mov rax, qword [rsi + r9*8]
cmp qword [rax + 0x2010], rdx
je 0x40c735
mov r8, qword [0x00423fb8]
jmp 0x40c730
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x40c735
cmp r8, rax
jne 0x40c720
mov r10, rcx
shr r10, 0xc
and r10d, 0x3ff
mov rax, qword [rax + r10*8]
mov r8, qword [rax]
mov qword [rbx], r8
mov r8, qword [rax + 0x20]
mov rax, qword [rsi + r9*8]
cmp qword [rax + 0x2010], rdx
je 0x40c7e0
mov r9, qword [0x00423fb8]
jmp 0x40c780
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x40c7e0
cmp rax, r9
jne 0x40c770
mov rdx, qword [r9 + r10*8]
mov r10, r8
shr r10, 4
movzx eax, byte [rdx + 0x18]
shl rax, 5
add rax, r12
mov r9, qword [rax]
lea r13, [r9 + r10*8]
mov r9, qword [0x00423ed0]
mov word [rdx + 0x1a], r9w
mov r9, qword [r13]
mov qword [rsp + 0x20], r9
mov r9d, dword [rax + 0x1c]
call sym.GC_reclaim_generic.constprop.35
mov qword [r13], rax
jmp 0x40c6e0
xor r13d, r13d
xor ebx, ebx
jmp 0x40bebc
xor r12d, r12d
jmp 0x40beeb
mov r9, rax
jmp 0x40c785
lea r8, [0x00424eb8]
movabs rcx, 0xfffffffffffffff
jmp 0x40c804
add rdx, 1
cmp rbx, rdx
mov qword [r8 + rax*8], rcx
mov rax, rdx
jae 0x40c800
jmp 0x40c026
lea rcx, str.GC_PRINT_STATS
call sub.msvcrt.dll_getenv
test rax, rax
je 0x40bbb9
mov dword [0x00423ed8], 1
jmp 0x40bbb9
cmp qword [0x00423a08], 0
je 0x40c970
mov rbx, qword [0x00423a08]
mov qword [rbp - 0x40], rbp
lea rdx, [rbp - 0x38]
mov r8d, 0x30
mov rax, qword [rbp - 0x40]
neg rbx
and rbx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
cmp rax, 0x30
je 0x40c887
lea rcx, [0x0041e93d]
call sym.GC_default_on_abort.lto_priv.46
call qword [sym.imp.KERNEL32.dll_DebugBreak]
mov eax, dword [rbp - 0x14]
and ah, 0xfc
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x40c89d
sub eax, 0x40
and eax, 0xffffffbf
jne 0x40c8aa
cmp dword [rbp - 0x18], 0x1000
jne 0x40c8aa
add rbx, qword [rbp - 0x20]
mov qword [0x004239f0], rbx
jmp 0x40bd80
call sym.GC_dump_named.constprop.27
jmp 0x40c072
mov edx, 1
jmp 0x40c3ce
lea rcx, [sym.GC_write_fault_handler.lto_priv.44]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
test rax, rax
mov qword [0x004239d8], rax
je 0x40c9f1
mov eax, dword [0x00423ed8]
test eax, eax
je 0x40be17
lea rcx, str.Replaced_other_UnhandledExceptionFilter_n
call sym.GC_log_printf
jmp 0x40be17
add rbx, 8
cmp r15, rbx
jne 0x40c6e0
lea rax, [0x0041d760]
add rdi, 0x20
cmp rax, rdi
jne 0x40c6c3
cmp dword [0x00423ed8], 2
mov r13d, dword [rbp - 0x50]
mov rdi, qword [rbp - 0x58]
jne 0x40c101
call rdi
sub eax, dword [rbp - 0x4c]
lea rcx, [0x0041eb98]
xor r8d, r8d
mov edx, eax
call sym.GC_log_printf
jmp 0x40c101
lea rcx, [0x0044e400]
call rbx
mov eax, dword [0x0044e404]
mov qword [0x00423a08], rax
jmp 0x40c847
mov dword [0x00423fd0], 5
mov ecx, dword [0x00423edc]
mov rax, qword [0x00423f90]
sub rax, 0x10
test ecx, ecx
mov qword [0x00423fa0], rax
je 0x40ca1d
mov rdx, qword [0x00423eb0]
mov r8d, 0x8000
mov rcx, qword [0x00423ea8]
call sym.memcpy
jmp 0x40c2a0
lea rcx, str.Using_GetWriteWatch___n
call sym.GC_log_printf
jmp 0x40be17
lea rcx, str.Initializing_mprotect_virtual_dirty_bit_implementation_n
call sym.GC_log_printf
jmp 0x40bde7
mov qword [0x004239d8], 0xffffffffffffffff
jmp 0x40be17
shl rbx, 0x1e
jmp 0x40c62f
shl r12, 0x1e
jmp 0x40beeb
call rdi
mov dword [rbp - 0x4c], eax
jmp 0x40c6aa
mov rdx, qword [0x00423ec0]
mov r8d, 0x8000
mov rcx, qword [0x00423eb8]
call sym.memcpy
jmp 0x40c9b1
shl rbx, 0x14
jmp 0x40c62f
shl r12, 0x14
jmp 0x40beeb
lea rcx, [0x0041eb30]
call sym.GC_log_printf
mov r11d, dword [0x00423fd0]
test r11d, r11d
je 0x40c0c6
jmp 0x40c0b0
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.46
mov ecx, 1
call sym.exit
lea rcx, str.Insufficient_memory_for_GC_all_nils_n
jmp 0x40ca75
lea rcx, str.Cant_start_up:_not_enough_memory_n
jmp 0x40ca75