Function at 0x140016970
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r15, rcx
mov rcx, qword [0x140032120]
mov edi, edx
mov rbx, r8
call dbg.__emutls_get_address
cmp dil, 0xb
movzx edx, byte [rax]
mov rsi, rax
ja 0x140016d38
mov eax, 1
mov ecx, edi
shl rax, cl
test eax, 0xa50
jne 0x140016c90
cmp dil, 2
mov eax, 0x1f
je 0x140016cb8
test dl, dl
jne 0x140016ca0
cmp r15, rax
jle 0x140016ca0
lea r12, [rsp + 0x40]
mov rdx, rbx
mov rcx, r12
call sym.dollar___systemZdollars_u8
cmp byte [rsi], 0
mov rbx, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
jne 0x140016ca0
movzx edx, dil
mov r8d, 2
mov rcx, r12
call sym.nsuIntToStr
mov rax, qword [rsp + 0x48]
cmp byte [rsi], 0
mov rbp, qword [rsp + 0x40]
mov qword [rsp + 0x28], rax
jne 0x140016ca0
mov rdx, r15
mov rcx, r12
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0x48]
cmp byte [rsi], 0
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
jne 0x140016ca0
lea rax, [rbx + rbp]
mov rcx, r12
lea rdx, [rax + rdi + 0x52]
call sym.rawNewString
mov r11, qword [rsp + 0x40]
movabs rax, 0x696e2e73656d6974
mov r14, qword [rsp + 0x48]
lea r15, [r11 + r14 + 8]
mov qword [r15], rax
movabs rax, 0x33202c373734286d
mov qword [r15 + 8], rax
movabs rax, 0x68746e6f6d602029
mov qword [r15 + 0x10], rax
movabs rax, 0x67203d3c20796164
mov qword [r15 + 0x18], rax
movabs rax, 0x6e49737961447465
mov qword [r15 + 0x20], rax
movabs rax, 0x6f6d2868746e6f4d
mov qword [r15 + 0x28], rax
movabs rax, 0x616579202c68746e
mov qword [r15 + 0x30], rax
movabs rax, 0x20602972616579
mov qword [r15 + 0x35], rax
mov rax, r11
add rax, 0x3c
jo 0x140016e5f
lea r15, [rax + r14 + 8]
mov r11, rax
test rbx, rbx
jle 0x140016d85
mov r8, rbx
add r8, 1
jo 0x140016e7d
test r8, r8
js 0x140016d60
lea rdx, [r13 + 8]
mov rcx, r15
mov qword [rsp + 0x38], r11
call sym.memcpy
mov r11, qword [rsp + 0x38]
add rbx, r11
jo 0x140016e50
lea r15, [rbx + r14 + 8]
mov rax, rbx
mov ecx, 0x2d
add rax, 1
mov word [r15], cx
jo 0x140016e17
lea r15, [rax + r14 + 8]
test rbp, rbp
mov rbx, rax
jle 0x140016b8b
mov r8, rbp
add r8, 1
jo 0x140016e73
test r8, r8
js 0x140016de8
mov rax, qword [rsp + 0x28]
mov rcx, r15
lea rdx, [rax + 8]
call sym.memcpy
add rbp, rbx
jo 0x140016e73
lea r15, [rbp + r14 + 8]
mov rbx, rbp
mov rax, rbx
mov edx, 0x2d
add rax, 1
mov word [r15], dx
jo 0x140016e2e
lea r15, [rax + r14 + 8]
mov rbx, rax
test rdi, rdi
jle 0x140016dab
mov r8, rdi
add r8, 1
jo 0x140016e10
test r8, r8
js 0x140016d90
mov rax, qword [rsp + 0x30]
mov rcx, r15
lea rdx, [rax + 8]
call sym.memcpy
add rdi, rbx
jo 0x140016e10
lea r15, [rdi + r14 + 8]
movabs rax, 0x20746f6e20736920
mov qword [r15], rax
movabs rax, 0x2064696c61762061
mov qword [r15 + 8], rax
movabs rax, 0x65746164206469
mov qword [r15 + 0xd], rax
mov rax, rdi
add rax, 0x14
jo 0x140016e40
mov rcx, r12
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r14
call sym.failedAssertImpl__stdZassertions_u270
cmp byte [rsi], 0
jne 0x140016ca0
test r14, r14
je 0x140016c44
test byte [r14 + 7], 0x40
je 0x140016db8
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x140016c58
test byte [rax + 7], 0x40
je 0x140016dc8
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x140016c6c
test byte [rax + 7], 0x40
je 0x140016dd8
test r13, r13
je 0x140016ca0
test byte [r13 + 7], 0x40
jne 0x140016ca0
mov rcx, r13
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.deallocShared
mov eax, 0x1e
jmp 0x1400169c8
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test bl, 3
jne 0x140016d48
movabs rax, 0x8f5c28f5c28f5c29
movabs rcx, 0x51eb851eb851eb8
movabs r8, 0x28f5c28f5c28f5c
imul rax, rbx
add rcx, rax
ror rcx, 2
cmp r8, rcx
jb 0x140016d20
movabs rcx, 0x51eb851eb851eb0
add rax, rcx
movabs rcx, 0xa3d70a3d70a3d6
ror rax, 4
cmp rcx, rax
setae al
test dl, dl
jne 0x140016ca0
movzx eax, al
add rax, 0x1c
jmp 0x1400169d0
test dl, dl
jne 0x140016ca0
mov eax, 0x1d
jmp 0x1400169d0
mov eax, 0x1f
jmp 0x1400169c8
test dl, dl
jne 0x140016ca0
mov eax, 0x1c
jmp 0x1400169d0
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x38], r11
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
mov r11, qword [rsp + 0x38]
mov rbx, r11
jmp 0x140016b30
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
mov rdi, rbx
jmp 0x140016be7
mov rcx, r14
call sym.deallocShared
jmp 0x140016c44
mov rcx, rax
call sym.deallocShared
jmp 0x140016c58
mov rcx, rax
call sym.deallocShared
jmp 0x140016c6c
movabs r8, 0x7fffffffffffffff
xor edx, edx
movabs rcx, 0x8000000000000000
call sym.raiseRangeErrorI
jmp 0x140016b8b
call sym.raiseOverflow
jmp 0x140016dab
call sym.raiseOverflow
test rbp, rbp
jg 0x140016b53
mov eax, 0x2d
mov word [r15], ax
call sym.raiseOverflow
jmp 0x140016ba9
call sym.raiseOverflow
mov rax, rdi
jmp 0x140016c1d
call sym.raiseOverflow
mov r11, qword [rsp + 0x38]
jmp 0x140016d85
mov qword [rsp + 0x38], r11
call sym.raiseOverflow
mov r11, qword [rsp + 0x38]
jmp 0x140016aed
call sym.raiseOverflow
jmp 0x140016b8b
mov qword [rsp + 0x38], r11
call sym.raiseOverflow
mov r11, qword [rsp + 0x38]
jmp 0x140016d85