Function at 0x140079c90
Capabilities:
Terminate process

Disassembly:
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
xor eax, eax
mov rbp, qword [rdx]
mov r12, qword [rdx + 8]
lea rdi, [r8 + 8]
mov rsi, rcx
mov rcx, r8
mov qword [r8], 0
and rdi, 0xfffffffffffffff8
mov rbx, r8
mov qword [r8 + 0x80], 0
sub rcx, rdi
lea r13, [rbx + 0x50]
add ecx, 0x88
shr ecx, 3
rep stosq qword [rdi], rax
lea rdi, [rsp + 0x20]
mov rcx, r8
mov rdx, rdi
movdqu xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x20], xmm0
call sym.eqcopy___stdZassertions_u30
movdqu xmm1, xmmword [rsi + 0x10]
lea rcx, [rbx + 0x10]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm1
call sym.eqcopy___stdZassertions_u30
movdqu xmm2, xmmword [rsi + 0x20]
lea rcx, [rbx + 0x20]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm2
call sym.eqcopy___stdZassertions_u30
movdqu xmm3, xmmword [rsi + 0x30]
lea rcx, [rbx + 0x30]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm3
call sym.eqcopy___stdZassertions_u30
movdqu xmm4, xmmword [rsi + 0x40]
lea rcx, [rbx + 0x40]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm4
call sym.eqcopy___stdZassertions_u30
movdqu xmm5, xmmword [rsi + 0x50]
mov rdx, rdi
mov rcx, r13
movaps xmmword [rsp + 0x20], xmm5
call sym.eqcopy___stdZassertions_u30
movdqu xmm0, xmmword [rsi + 0x60]
lea rcx, [rbx + 0x60]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm0
call sym.eqcopy___stdZassertions_u30
movdqu xmm1, xmmword [rsi + 0x70]
lea rcx, [rbx + 0x70]
mov rdx, rdi
movaps xmmword [rsp + 0x20], xmm1
call sym.eqcopy___stdZassertions_u30
movzx eax, byte [rsi + 0x80]
mov byte [rbx + 0x80], al
movzx eax, byte [rsi + 0x81]
mov byte [rbx + 0x81], al
mov rax, qword [rbx + 0x50]
test rax, rax
jne 0x140079e60
test rbp, rbp
je 0x140079e30
jle 0x140079f98
cmp byte [r12 + 8], 0x2f
jne 0x14007a0f8
mov rcx, r13
mov rdx, rbp
call sym.prepareAdd
mov rcx, rbp
add rcx, 1
jo 0x140079f7f
test rcx, rcx
js 0x140079fb8
mov rdx, qword [rbx + 0x58]
mov rax, qword [rbx + 0x50]
mov r8, rcx
lea rax, [rdx + rax + 8]
lea rdx, [r12 + 8]
mov rcx, rax
call sym.memcpy
add rbp, qword [rbx + 0x50]
jo 0x140079f7f
mov qword [rbx + 0x50], rbp
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
movdqa xmm2, xmmword [0x1401225f0]
mov rdx, rdi
mov rcx, r13
movaps xmmword [rsp + 0x20], xmm2
call sym.eqsink___stdZassertions_u36
xor edx, edx
mov rcx, r13
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.prepareAdd
jle 0x140079f50
mov rdx, qword [rbx + 0x58]
cmp byte [rdx + rax + 7], 0x2f
jne 0x140079f50
test rbp, rbp
jle 0x140079fe0
cmp byte [r12 + 8], 0x2f
jne 0x140079dcd
mov qword [rsp + 0x30], 0
lea rsi, [rbp - 1]
mov qword [rsp + 0x38], 0
sub rsi, 1
jo 0x14007a118
xor r14d, r14d
add rsi, 1
seto r14b
jo 0x14007a118
test rsi, rsi
js 0x140079ff0
mov rdx, rsi
mov rcx, rdi
call sym.mnewString
movdqu xmm3, xmmword [rsp + 0x20]
movaps xmmword [rsp + 0x30], xmm3
test rsi, rsi
je 0x14007a008
lea rdi, [rsp + 0x30]
jmp 0x140079f0c
movzx ecx, byte [r12 + rax + 8]
mov rdx, qword [rsp + 0x38]
mov byte [rdx + r14 + 8], cl
cmp rax, rsi
jge 0x14007a008
mov r14, rax
mov rdx, qword [rsp + 0x30]
cmp r14, rdx
jge 0x14007a12c
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140079f32
test byte [rax + 7], 0x40
je 0x140079f32
mov rcx, rdi
call sym.nimPrepareStrMutationImpl__system_u2390
lea rax, [r14 + 1]
cmp rbp, rax
jne 0x140079ef0
mov rdx, r14
mov rcx, rbp
call sym.raiseIndexError2
jmp 0x14007a008
test rbp, rbp
je 0x14007a0a0
jle 0x140079f98
cmp byte [r12 + 8], 0x2f
jne 0x14007a0a0
mov rdx, rbp
mov rcx, r13
call sym.prepareAdd
mov rcx, rbp
add rcx, 1
jno 0x140079de5
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.raiseOverflow
lea rdx, [rbp - 1]
xor ecx, ecx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.raiseIndexError2
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.raiseRangeErrorI
mov rdx, rbp
jmp 0x140079e4a
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rsi
call sym.raiseRangeErrorI
nop dword [rax]
mov rcx, qword [0x14012c5f0]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
call dbg.__emutls_get_address
cmp byte [rax], 0
jne 0x140079e19
mov rdx, rsi
mov rcx, r13
call sym.prepareAdd
test rsi, rsi
jle 0x14007a077
mov rcx, rsi
add rcx, 1
jo 0x14007a122
test rcx, rcx
js 0x14007a148
mov rdx, qword [rbx + 0x58]
mov rax, qword [rbx + 0x50]
mov r8, rcx
lea rax, [rdx + rax + 8]
lea rdx, [rdi + 8]
mov rcx, rax
call sym.memcpy
add rsi, qword [rbx + 0x50]
jo 0x14007a122
mov qword [rbx + 0x50], rsi
test rdi, rdi
je 0x140079e19
test byte [rdi + 7], 0x40
jne 0x140079e19
mov rcx, rdi
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp sym.deallocShared
mov edx, 1
mov rcx, r13
call sym.prepareAdd
mov rax, qword [rbx + 0x50]
mov rdx, qword [rbx + 0x58]
mov byte [rdx + rax + 8], 0x2f
mov rax, qword [rbx + 0x50]
add rax, 1
jo 0x14007a13d
mov rdx, qword [rbx + 0x58]
mov byte [rdx + rax + 8], 0
mov rax, qword [rbx + 0x50]
add rax, 1
jo 0x14007a13d
mov qword [rbx + 0x50], rax
mov rdx, rbp
mov rcx, r13
call sym.prepareAdd
test rbp, rbp
je 0x140079e19
jmp 0x140079f72
movdqa xmm4, xmmword [0x1401225f0]
mov rdx, rdi
mov rcx, r13
movaps xmmword [rsp + 0x20], xmm4
call sym.eqsink___stdZassertions_u36
jmp 0x140079dcd
call sym.raiseOverflow
jmp 0x14007a008
call sym.raiseOverflow
jmp 0x14007a077
sub rdx, 1
mov rcx, r14
call sym.raiseIndexError2
jmp 0x14007a008
call sym.raiseOverflow
jmp 0x14007a0db
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
jmp 0x14007a077