Function at 0x1400bde80
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 0x1400bdfd8
mov rcx, qword [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x1400bdfbd
mov rdx, qword [rbx + 8]
mov rcx, rdx
sub rcx, 1
jo 0x1400be4ce
test rcx, rcx
js 0x1400be027
cmp rcx, rdx
jge 0x1400be218
mov rdx, qword [rbx + 0x10]
lea r12, [rcx + rcx*2]
shl r12, 3
add rdx, r12
cmp byte [rdx + 8], 9
jne 0x1400be027
movzx eax, byte [rbp]
cmp al, 9
je 0x1400be238
cmp al, 0xc
je 0x1400be0e0
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 0x1400bdfbd
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 0x1400be3c0
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 [0x140126a10]
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 [0x14012c5f0]
call dbg.__emutls_get_address
cmp byte [rax], 0
mov rsi, rax
jne 0x1400bdfbd
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 0x1400bdfbd
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 0x1400be3c0
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 0x1400bdfbd
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 0x1400be440
mov rcx, rdi
add rcx, 1
jo 0x1400be4c4
test rcx, rcx
js 0x1400be428
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 0x1400be4c4
movzx eax, byte [rbp + 8]
mov byte [rdi + r14 + 8], al
mov rax, rdi
add rax, 1
jo 0x1400be4a1
mov byte [rax + r14 + 8], 0
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rax, 1
je 0x1400be468
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 0x1400bdfbd
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 0x1400bdfbd
test byte [r14 + 7], 0x40
jne 0x1400bdfbd
mov rcx, r14
jmp 0x1400be3a4
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 0x1400be420
mov rcx, r14
add rcx, 1
jo 0x1400be4e6
test rcx, rcx
js 0x1400be400
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 0x1400be4ae
test rdi, rdi
jle 0x1400be459
mov rcx, rdi
add rcx, 1
jo 0x1400be4bd
test rcx, rcx
js 0x1400be448
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 0x1400be4bd
mov qword [rsp + 0xc0], 0
pxor xmm0, xmm0
movaps xmmword [rsp + 0xb0], xmm0
cmp rdi, 1
je 0x1400be488
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 0x1400bdfbd
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 0x1400bdfbd
test r15, r15
je 0x1400bdfbd
mov rcx, r15
test byte [r15 + 7], 0x40
jne 0x1400bdfbd
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 [0x140126a10]
mov qword [rsp + 0x58], rdx
lea rdx, [rsp + 0x50]
mov qword [rsp + 0x50], rax
movaps xmmword [rsp + 0x60], xmm4
call sym.raiseFieldErrorStr
jmp 0x1400bdfbd
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 0x1400be2b2
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
nop dword [rax]
mov rdi, r15
jmp 0x1400be14a
movabs r8, 0x7fffffffffffffff
xor edx, edx
call sym.raiseRangeErrorI
mov rdi, r14
jmp 0x1400be2f2
movzx eax, byte [r14 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x1400be1c1
movzx eax, byte [r15 + 8]
mov byte [rsp + 0xb0], 0xc
mov byte [rsp + 0xb8], al
jmp 0x1400be34d
call sym.raiseOverflow
mov rax, rdi
jmp 0x1400be166
call sym.raiseOverflow
mov r9, qword [rsp + 0x28]
jmp 0x1400be420
call sym.raiseOverflow
jmp 0x1400be459
call sym.raiseOverflow
jmp 0x1400be440
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 0x1400be420