Function at 0x14000f2a0
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
lea r14, [rsp + 0x40]
mov rbx, rdx
mov rdx, rcx
mov rcx, r14
mov rsi, r8
call sym.dollar___systemZdollars_u8
lea rcx, [0x14002e360]
mov rdi, qword [rsp + 0x40]
call dbg.__emutls_get_address
mov r12, qword [rsp + 0x48]
cmp byte [rax], 0
mov rbp, rax
jne 0x14000f5a2
mov rdx, rbx
mov rcx, r14
call sym.dollar___systemZdollars_u8
cmp byte [rbp], 0
mov rbx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
jne 0x14000f5a2
lea rdx, [rsi - 1]
mov rcx, r14
call sym.dollar___systemZdollars_u8
cmp byte [rbp], 0
mov rsi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jne 0x14000f5a2
mov qword [rsp + 0x50], 0
lea rax, [rdi + rbx]
mov qword [rsp + 0x58], 0
lea r15, [rax + rsi + 0x21]
test r15, r15
jle 0x14000f5b8
mov rax, r15
add rax, 1
jo 0x14000f5b3
add rax, 8
mov rbp, rax
jo 0x14000f5b3
test rax, rax
js 0x14000f6d0
lea rax, [0x14002e380]
mov rcx, rax
mov qword [rsp + 0x30], rax
call dbg.__emutls_get_address
mov rdx, rbp
mov rcx, rax
call sym.rawAlloc__system_u6833
mov rbp, rax
mov qword [rax], r15
mov byte [rax + 8], 0
movabs rdx, 0x756f207865646e69
test rdi, rdi
mov qword [rbp + 8], rdx
movabs rdx, 0x756f6220666f2074
mov qword [rbp + 0x10], rdx
movabs rdx, 0x203a73646e756f
mov qword [rbp + 0x16], rdx
jle 0x14000f5fb
mov r8, rdi
add r8, 1
jo 0x14000f690
test r8, r8
js 0x14000f5e0
lea r15, [rbp + 0x1d]
lea rdx, [r12 + 8]
mov rcx, r15
call sym.memcpy
mov r9, rdi
add r9, 0x15
jo 0x14000f698
lea rdi, [rbp + rdi + 0x1d]
mov rax, r9
mov edx, 0x2e2e
add rax, 2
mov word [rdi], dx
mov byte [rdi + 2], 0
jo 0x14000f755
mov r9, rax
lea rdi, [rbp + r9 + 8]
test rbx, rbx
jle 0x14000f688
mov r8, rbx
add r8, 1
jo 0x14000f730
test r8, r8
mov qword [rsp + 0x38], r9
js 0x14000f668
lea rdx, [r13 + 8]
mov rcx, rdi
call sym.memcpy
mov r9, qword [rsp + 0x38]
add rbx, r9
jo 0x14000f730
lea rdi, [rbp + rbx + 8]
movabs rax, 0x30206e69746f6e20
mov qword [rdi], rax
mov dword [rdi + 7], 0x2e2e30
mov rdi, rbx
add rdi, 0xa
jo 0x14000f748
test rsi, rsi
jle 0x14000f65b
mov r8, rsi
add r8, 1
jo 0x14000f720
test r8, r8
js 0x14000f640
lea rcx, [rbp + rdi + 8]
lea rdx, [r14 + 8]
call sym.memcpy
add rsi, rdi
jo 0x14000f720
mov rcx, qword [rsp + 0x30]
call dbg.__emutls_get_address
mov edx, 0x50
mov rcx, rax
mov r15, rax
call sym.rawAlloc__system_u6833
mov ecx, 0xa
xor r10d, r10d
mov r9d, 0x18
mov rdx, rax
xor eax, eax
mov rbx, r10
mov rdi, rdx
mov r8d, 1
rep stosq qword [rdi], rax
mov rax, qword [0x140032100]
lea rdi, [rdx + 0x10]
mov qword [rdx + 0x10], rax
lea rax, str.IndexDefect
xor edx, edx
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rsi
mov qword [rdi + 0x20], rbp
mov qword [rsp + 0x20], 8
call sym.prepareSeqAddUninit
add rbx, 1
mov qword [rdi + 0x30], rax
jno 0x14000f6f0
call sym.raiseOverflow
lea rcx, [0x14002e340]
call dbg.__emutls_get_address
mov rax, qword [rax]
test rax, rax
je 0x14000f55c
mov rcx, rdi
call rax
test al, al
je 0x14000f571
mov rax, qword [0x140037128]
test rax, rax
je 0x14000f5d0
mov rcx, rdi
call rax
test al, al
jne 0x14000f5d0
test r14, r14
je 0x14000f581
test byte [r14 + 7], 0x40
je 0x14000f6c0
test r13, r13
je 0x14000f591
test byte [r13 + 7], 0x40
je 0x14000f6a8
test r12, r12
je 0x14000f5a2
test byte [r12 + 7], 0x40
je 0x14000f620
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sym.raiseOverflow
lea rax, [0x14002e380]
xor ebp, ebp
mov qword [rsp + 0x30], rax
jmp 0x14000f397
mov rcx, rdi
call sym.raiseExceptionAux__system_u4395.part.0
jmp 0x14000f571
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
lea r15, [rbp + 0x1d]
mov eax, 0x2e2e
mov r9d, 0x17
mov word [rbp + 0x1d], ax
mov byte [r15 + 2], 0
jmp 0x14000f41f
mov rdx, r12
mov rcx, r15
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.rawDealloc__system_u7009
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
mov rsi, rdi
jmp 0x14000f4be
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
mov r9, qword [rsp + 0x38]
mov rbx, r9
jmp 0x14000f467
lea r15, [rbp + 0x1d]
nop dword [rax]
call sym.raiseOverflow
jmp 0x14000f5ff
mov rdx, r13
mov rcx, r15
call sym.rawDealloc__system_u7009
jmp 0x14000f591
mov rdx, r14
mov rcx, r15
call sym.rawDealloc__system_u7009
jmp 0x14000f581
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x14000f5b8
lea rsi, str.sysFatal
mov qword [rdi + 0x28], rbx
mov qword [rax + 8], rsi
lea rsi, str.fatal.nim
mov qword [rax + 0x10], 0x35
mov qword [rax + 0x18], rsi
jmp 0x14000f53f
call sym.raiseOverflow
jmp 0x14000f65b
mov qword [rsp + 0x38], r9
call sym.raiseOverflow
mov r9, qword [rsp + 0x38]
jmp 0x14000f688
call sym.raiseOverflow
mov rdi, rbx
jmp 0x14000f488
mov qword [rsp + 0x38], r9
call sym.raiseOverflow
mov r9, qword [rsp + 0x38]
jmp 0x14000f424