Function at 0x140096f20
Capabilities:
Terminate process

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov edi, 0xe0c7fff
mov rbp, rdx
movzx edx, byte [rcx]
mov rbx, rcx
bt rdi, rdx
jb 0x140097078
mov rcx, qword [0x1400f8300]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x14009705d
mov rdx, qword [rbx + 8]
mov rcx, rdx
sub rcx, 1
jo 0x14009756e
test rcx, rcx
js 0x1400970c7
cmp rcx, rdx
jge 0x1400972b8
mov rdx, qword [rbx + 0x10]
lea r12, [rcx + rcx*2]
shl r12, 3
add rdx, r12
cmp byte [rdx + 8], 9
jne 0x1400970c7
movzx eax, byte [rbp]
cmp al, 9
je 0x1400972d8
cmp al, 0xc
je 0x140097180
movdqu xmm2, xmmword [rbp]
pxor xmm0, xmm0
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x80], 0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x30], xmm2
mov rax, qword [rbp + 0x10]
lea rbp, [rsp + 0x30]
mov rcx, rbp
mov qword [rsp + 0x40], rax
call sym.eqdup___pureZpegs_u258
cmp byte [rsi], 0
jne 0x14009705d
movzx edx, byte [rbx]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
bt rdi, rdx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xa0], rax
jb 0x140097460
lea rcx, [rbx + 8]
mov rdx, rbp
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], rax
call sym.add__pureZpegs_u688
nop
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea r8, [rsp + 0x60]
mov rcx, r8
call sym.dollar___pureZpegs_u50
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov rcx, r8
movdqa xmm1, xmmword [0x1400f2af0]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x60], xmm1
call sym.raiseFieldErrorStr
mov rcx, qword [0x1400f8300]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x14009705d
movdqu xmm3, xmmword [rbp]
lea rdi, [rsp + 0x30]
pxor xmm0, xmm0
lea rdx, [rsp + 0x70]
mov rcx, rdi
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x30], xmm3
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x40], rax
call sym.eqdup___pureZpegs_u258
cmp byte [rsi], 0
jne 0x14009705d
movzx edx, byte [rbx]
mov r8, qword [rsp + 0x70]
mov ecx, 0xe0c7fff
mov r9, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
bt rcx, rdx
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r9
mov qword [rsp + 0xa0], rax
jb 0x140097460
lea rcx, [rbx + 8]
mov rdx, rdi
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0xb8], r9
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], rax
call sym.add__pureZpegs_u688
jmp 0x14009705d
mov rdx, qword [rdx + 0x10]
lea r13, [rsp + 0x60]
mov rcx, r13
add rdx, 1
call sym.rawNewString
mov rax, qword [rbx + 0x10]
mov r15, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
add rax, r12
mov rdi, qword [rax + 0x10]
test rdi, rdi
jle 0x1400974e0
mov rcx, rdi
add rcx, 1
jo 0x140097564
test rcx, rcx
js 0x1400974c8
mov rdx, qword [rax + 0x18]
lea r9, [r15 + r14 + 8]
mov r8, rcx
mov rcx, r9
add rdx, 8
call sym.memcpy
add rdi, r15
jo 0x140097564
movzx eax, byte [rbp + 8]
mov byte [rdi + r14 + 8], al
mov rax, rdi
add rax, 1
jo 0x140097541
mov byte [rax + r14 + 8], 0
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rax, 1
je 0x140097508
lea rdx, [rsp + 0x50]
mov rcx, r13
mov qword [rsp + 0x50], rax
mov byte [rsp + 0xb0], 9
mov qword [rsp + 0x58], r14
call sym.eqdup___stdZassertions_u33
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rax
cmp byte [rsi], 0
jne 0x14009705d
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0x30]
movdqa xmm5, xmmword [rsp + 0xb0]
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x30], xmm5
mov rax, qword [rbx + 0x10]
lea rcx, [rax + r12 + 8]
call sym.eqsink___pureZpegs_u261
cmp byte [rsi], 0
jne 0x14009705d
test byte [r14 + 7], 0x40
jne 0x14009705d
mov rcx, r14
jmp 0x140097444
sub rdx, 1
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseIndexError2
mov rax, qword [rdx + 0x10]
mov rdi, qword [rbp + 8]
lea r13, [rsp + 0x60]
mov rcx, r13
add rax, rdi
mov rdx, rax
call sym.rawNewString
mov rax, qword [rbx + 0x10]
mov r9, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
add rax, r12
mov r14, qword [rax + 0x10]
test r14, r14
jle 0x1400974c0
mov rcx, r14
add rcx, 1
jo 0x140097586
test rcx, rcx
js 0x1400974a0
mov rdx, qword [rax + 0x18]
lea r10, [r9 + r15 + 8]
mov r8, rcx
mov qword [rsp + 0x28], r9
mov rcx, r10
add rdx, 8
call sym.memcpy
mov r9, qword [rsp + 0x28]
add r14, r9
jo 0x14009754e
test rdi, rdi
jle 0x1400974f9
mov rcx, rdi
add rcx, 1
jo 0x14009755d
test rcx, rcx
js 0x1400974e8
mov rdx, qword [rbp + 0x10]
lea rax, [r14 + r15 + 8]
mov r8, rcx
mov rcx, rax
add rdx, 8
call sym.memcpy
add rdi, r14
jo 0x14009755d
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rdi, 1
je 0x140097528
lea rdx, [rsp + 0x50]
mov rcx, r13
mov qword [rsp + 0x50], rdi
mov byte [rsp + 0xb0], 9
mov qword [rsp + 0x58], r15
call sym.eqdup___stdZassertions_u33
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xc0], rax
cmp byte [rsi], 0
jne 0x14009705d
mov rax, qword [rsp + 0xc0]
lea rdx, [rsp + 0x30]
movdqa xmm5, xmmword [rsp + 0xb0]
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0x30], xmm5
mov rax, qword [rbx + 0x10]
lea rcx, [rax + r12 + 8]
call sym.eqsink___pureZpegs_u261
cmp byte [rsi], 0
jne 0x14009705d
test r15, r15
je 0x14009705d
mov rcx, r15
test byte [r15 + 7], 0x40
jne 0x14009705d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.deallocShared
lea r8, [rsp + 0x60]
mov rcx, r8
call sym.dollar___pureZpegs_u50
mov rdx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x60]
mov rcx, r8
movdqa xmm4, xmmword [0x1400f2af0]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x60], xmm4
call sym.raiseFieldErrorStr
jmp 0x14009705d
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov qword [rsp + 0x28], r9
call sym.raiseRangeErrorI
mov r9, qword [rsp + 0x28]
nop dword [rax + rax]
mov r14, r9
jmp 0x140097352
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
nop dword [rax]
mov rdi, r15
jmp 0x1400971ea
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rdi, r14
jmp 0x140097392
movzx eax, byte [r14 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x140097261
movzx eax, byte [r15 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x1400973ed
call sym.raiseOverflow
mov rax, rdi
jmp 0x140097206
call sym.raiseOverflow
mov r9, qword [rsp + 0x28]
jmp 0x1400974c0
call sym.raiseOverflow
jmp 0x1400974f9
call sym.raiseOverflow
jmp 0x1400974e0
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.raiseOverflow
mov qword [rsp + 0x28], r9
call sym.raiseOverflow
mov r9, qword [rsp + 0x28]
jmp 0x1400974c0