Function at 0x1400b78a0
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 0x1400b79f8
mov rcx, qword [0x140123df0]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x1400b79dd
mov rdx, qword [rbx + 8]
mov rcx, rdx
sub rcx, 1
jo 0x1400b7eee
test rcx, rcx
js 0x1400b7a47
cmp rcx, rdx
jge 0x1400b7c38
mov rdx, qword [rbx + 0x10]
lea r12, [rcx + rcx*2]
shl r12, 3
add rdx, r12
cmp byte [rdx + 8], 9
jne 0x1400b7a47
movzx eax, byte [rbp]
cmp al, 9
je 0x1400b7c58
cmp al, 0xc
je 0x1400b7b00
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 0x1400b79dd
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 0x1400b7de0
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 [0x14011e5d0]
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 [0x140123df0]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x1400b79dd
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 0x1400b79dd
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 0x1400b7de0
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 0x1400b79dd
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 0x1400b7e60
mov rcx, rdi
add rcx, 1
jo 0x1400b7ee4
test rcx, rcx
js 0x1400b7e48
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 0x1400b7ee4
movzx eax, byte [rbp + 8]
mov byte [rdi + r14 + 8], al
mov rax, rdi
add rax, 1
jo 0x1400b7ec1
mov byte [rax + r14 + 8], 0
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rax, 1
je 0x1400b7e88
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 0x1400b79dd
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 0x1400b79dd
test byte [r14 + 7], 0x40
jne 0x1400b79dd
mov rcx, r14
jmp 0x1400b7dc4
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 0x1400b7e40
mov rcx, r14
add rcx, 1
jo 0x1400b7f06
test rcx, rcx
js 0x1400b7e20
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 0x1400b7ece
test rdi, rdi
jle 0x1400b7e79
mov rcx, rdi
add rcx, 1
jo 0x1400b7edd
test rcx, rcx
js 0x1400b7e68
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 0x1400b7edd
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rdi, 1
je 0x1400b7ea8
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 0x1400b79dd
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 0x1400b79dd
test r15, r15
je 0x1400b79dd
mov rcx, r15
test byte [r15 + 7], 0x40
jne 0x1400b79dd
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 [0x14011e5d0]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x60], xmm4
call sym.raiseFieldErrorStr
jmp 0x1400b79dd
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 0x1400b7cd2
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
nop dword [rax]
mov rdi, r15
jmp 0x1400b7b6a
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rdi, r14
jmp 0x1400b7d12
movzx eax, byte [r14 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x1400b7be1
movzx eax, byte [r15 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x1400b7d6d
call sym.raiseOverflow
mov rax, rdi
jmp 0x1400b7b86
call sym.raiseOverflow
mov r9, qword [rsp + 0x28]
jmp 0x1400b7e40
call sym.raiseOverflow
jmp 0x1400b7e79
call sym.raiseOverflow
jmp 0x1400b7e60
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 0x1400b7e40