Function at 0x14003a9a0
Capabilities:
Terminate process

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rax, qword [rcx + 0x30]
mov rbx, rcx
mov rcx, rax
add rcx, 1
jo 0x14003ab9f
mov rdx, qword [rbx + 0x10]
cmp rdx, rcx
jl 0x14003abb0
mov rsi, rdx
sub rsi, rcx
jo 0x14003ab9f
test rsi, rsi
js 0x14003aa18
je 0x14003aa48
test rdx, rdx
jle 0x14003ac40
cmp rdx, rcx
jle 0x14003abf0
test rcx, rcx
js 0x14003abf0
mov rax, qword [rbx + 0x18]
mov r8, rsi
lea rdx, [rax + rcx + 8]
lea rcx, [rax + 8]
call sym.memmove
jmp 0x14003aa44
movdqa xmm2, xmmword [0x14010c9b0]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm2
call sym.failedAssertImpl__stdZassertions_u310
mov rcx, qword [0x140123df0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x14003ac29
mov rax, qword [rbx + 0x30]
add rax, rsi
jo 0x14003ab9f
add rax, 1
jo 0x14003ab9f
sub rax, 1
jo 0x14003ab9f
mov rcx, qword [rbx + 0x20]
lea rdi, [rbx + 0x10]
lea rbp, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
mov r8, rbp
mov rdx, rdi
mov qword [rsp + 0x28], rax
call sym.readDataStr__pureZstreams_u84
mov rcx, qword [0x140123df0]
mov r12, rax
call dbg.__emutls_get_address
cmp byte [rax], 0
mov r13, rax
jne 0x14003ac29
add rsi, r12
jo 0x14003ab9f
mov rax, qword [rbx + 0x30]
add rax, 1
jo 0x14003ab9f
cmp rax, r12
jg 0x14003ac50
add rsi, 0xffffffffffffffff
jo 0x14003ab9f
mov r12, qword [rbx + 0x10]
cmp r12, rsi
jg 0x14003ab2f
movdqa xmm3, xmmword [0x14010c960]
mov rcx, rbp
movaps xmmword [rsp + 0x20], xmm3
call sym.failedAssertImpl__stdZassertions_u310
cmp byte [r13], 0
jne 0x14003ac29
mov r12, qword [rbx + 0x10]
jmp 0x14003ab2f
cmp r12, rsi
jle 0x14003ac67
mov rax, qword [rbx + 0x18]
movzx eax, byte [rax + rsi + 8]
mov edx, eax
and eax, 7
shr dl, 3
movzx edx, dl
movzx edx, byte [rbx + rdx + 0x48]
bt edx, eax
jb 0x14003ac71
sub rsi, 1
test rsi, rsi
jns 0x14003ab00
imul rcx, r12, 2
jo 0x14003ab9f
test rcx, rcx
js 0x14003ac9a
mov rdx, rcx
mov rcx, rdi
call sym.setLengthStrV2
mov rax, qword [rbx + 0x10]
movq xmm0, r12
mov rcx, qword [rbx + 0x20]
sub rax, 1
movq xmm4, rax
punpcklqdq xmm0, xmm4
jo 0x14003ab9f
mov r8, rbp
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm0
call sym.readDataStr__pureZstreams_u84
cmp byte [r13], 0
jne 0x14003ac29
cmp r12, rax
jg 0x14003ac77
mov r12, qword [rbx + 0x10]
mov rsi, r12
add rsi, 0xffffffffffffffff
jno 0x14003aad0
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.raiseOverflow
movdqa xmm1, xmmword [0x14010c9f0]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm1
call sym.failedAssertImpl__stdZassertions_u310
mov rcx, qword [0x140123df0]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x14003ac29
mov rax, qword [rbx + 0x30]
mov rcx, rax
add rcx, 1
jo 0x14003ab9f
mov rdx, qword [rbx + 0x10]
jmp 0x14003a9cd
sub rdx, 1
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.raiseIndexError2
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14003ac20
test byte [rax + 7], 0x40
je 0x14003ac20
mov rcx, rdi
call sym.nimPrepareStrMutationImpl__system_u2390
mov rax, qword [rbx + 0x18]
mov byte [rax + rsi + 8], 0
mov qword [rbx + 0x30], rsi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
sub rdx, 1
xor ecx, ecx
jmp 0x14003abf4
mov rdx, qword [rbx + 0x10]
test rsi, rsi
js 0x14003ac5e
cmp rdx, rsi
jg 0x14003ac05
sub rdx, 1
mov rcx, rsi
jmp 0x14003abf4
lea rdx, [r12 - 1]
mov rcx, rsi
jmp 0x14003abf4
mov qword [rbx + 0x30], rsi
jmp 0x14003ac29
add r12, rax
jo 0x14003ab9f
mov rax, qword [rbx + 0x10]
test r12, r12
js 0x14003ac8e
cmp rax, r12
jg 0x14003acb7
lea rdx, [rax - 1]
mov rcx, r12
jmp 0x14003abf4
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.raiseRangeErrorI
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x14003acce
test byte [rax + 7], 0x40
je 0x14003acce
mov rcx, rdi
call sym.nimPrepareStrMutationImpl__system_u2390
mov rax, qword [rbx + 0x18]
mov byte [rax + r12 + 8], 0
mov qword [rbx + 0x30], r12
jmp 0x14003ac29