Function at 0x140002ac0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov rbx, rcx
mov rax, rdx
mov rsi, rdx
test rdx, rdx
js 0x140002e20
cmp rsi, 0x63
jbe 0x140002e8f
movabs r8, 0x28f5c28f5c28f5c3
mov rdx, rsi
shr rdx, 2
mov rax, rdx
mul r8
mov r9, rdx
mov rax, rdx
shr r9, 2
and rax, 0xfffffffffffffffc
add rax, r9
lea rcx, [rax + rax*4]
mov rax, rsi
shl rcx, 2
sub rax, rcx
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x36], ax
cmp rsi, 0x270f
jbe 0x140002ea8
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
mov rax, rdx
shr r10, 2
and rax, 0xfffffffffffffffc
add rax, r10
lea r11, [rax + rax*4]
mov rax, r9
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x34], ax
cmp rsi, 0xf423f
jbe 0x140002eea
shr rdx, 4
mov rax, rdx
mul r8
mov r9, rdx
mov rax, rdx
shr r9, 2
and rax, 0xfffffffffffffffc
add rax, r9
lea r11, [rax + rax*4]
mov rax, r10
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x32], ax
cmp rsi, 0x5f5e0ff
jbe 0x140002ef9
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
mov rax, rdx
shr r10, 2
and rax, 0xfffffffffffffffc
add rax, r10
lea r11, [rax + rax*4]
mov rax, r9
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x30], ax
movabs rax, 0x2540be3ff
cmp rax, rsi
jae 0x140002f05
shr rdx, 4
mov rax, rdx
mul r8
mov r9, rdx
mov rax, rdx
shr r9, 2
and rax, 0xfffffffffffffffc
add rax, r9
lea r11, [rax + rax*4]
mov rax, r10
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x2e], ax
movabs rax, 0xe8d4a50fff
cmp rax, rsi
jae 0x140002f14
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
mov rax, rdx
shr r10, 2
and rax, 0xfffffffffffffffc
add rax, r10
lea r11, [rax + rax*4]
mov rax, r9
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x2c], ax
movabs rax, 0x5af3107a3fff
cmp rax, rsi
jae 0x140002f20
shr rdx, 4
mov rax, rdx
mul r8
mov r9, rdx
mov rax, rdx
shr r9, 2
and rax, 0xfffffffffffffffc
add rax, r9
lea r11, [rax + rax*4]
mov rax, r10
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x2a], ax
movabs rax, 0x2386f26fc0ffff
cmp rax, rsi
jae 0x140002f2f
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
mov rax, rdx
shr r10, 2
and rax, 0xfffffffffffffffc
add rax, r10
lea r11, [rax + rax*4]
mov rax, r9
shl r11, 2
sub rax, r11
lea eax, [rax + rax + 1]
movsx rax, ax
movzx eax, word [rcx + rax - 1]
mov word [rsp + 0x28], ax
movabs rax, 0xde0b6b3a763ffff
cmp rax, rsi
jae 0x140002f3e
shr rdx, 4
mov edi, 5
mov rax, rdx
mul r8
mov rsi, rdx
and rdx, 0xfffffffffffffffc
shr rsi, 2
add rdx, rsi
lea rax, [rdx + rdx*4]
shl rax, 2
sub r10, rax
lea r10d, [r10 + r10 + 1]
movsx r10, r10w
movzx eax, word [rcx + r10 - 1]
mov word [rsp + 0x26], ax
mov ebp, 0x18
sub rbp, rdi
lea eax, [rsi + 0x30]
mov byte [rsp + rdi + 0x20], al
mov rsi, qword [rbx]
mov rcx, rsi
add rcx, rbp
jo 0x140003010
test rcx, rcx
js 0x140002f50
mov rdx, rcx
mov rcx, rbx
call sym.setLengthStrV2
mov rax, qword [rbx]
test rsi, rsi
js 0x140002e7b
cmp rsi, rax
jge 0x140002e7b
mov rax, qword [rbx + 8]
lea rdx, [rsp + rdi + 0x20]
lea rcx, [rax + rsi + 8]
mov eax, ebp
cmp ebp, 8
jae 0x140002f69
and ebp, 4
jne 0x140002ff5
test eax, eax
je 0x140002e0e
movzx r8d, byte [rdx]
mov byte [rcx], r8b
test al, 2
jne 0x140002fdc
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
movabs rcx, 0x8000000000000000
neg rdx
cmp rax, rcx
mov rcx, rbx
cmovne rax, rdx
mov edx, 1
mov rsi, rax
call sym.prepareAdd
mov rax, qword [rbx]
mov rdx, qword [rbx + 8]
mov byte [rdx + rax + 8], 0x2d
mov rax, qword [rbx]
add rax, 1
jo 0x140002feb
mov rdx, qword [rbx + 8]
mov byte [rdx + rax + 8], 0
mov rax, qword [rbx]
add rax, 1
jo 0x140002feb
mov qword [rbx], rax
jmp 0x140002ada
lea rdx, [rax - 1]
mov rcx, rsi
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseIndexError2
cmp rsi, 9
ja 0x140002fb9
mov ebp, 1
mov edi, 0x17
jmp 0x140002d9a
mov edi, 0x15
mov edx, 0x17
nop word [rax + rax]
cmp r9, 9
jbe 0x140003008
lea rax, [r9 + r9]
mov ebp, 0x18
movzx r8d, byte [rcx + rax + 1]
mov byte [rsp + rdi + 0x20], r8b
lea rdi, [rdx - 3]
sub rbp, rdi
movzx eax, byte [rcx + rax]
mov byte [rsp + rdi + 0x20], al
jmp 0x140002da1
mov r9, r10
mov edi, 0x13
mov edx, 0x15
jmp 0x140002eb8
mov edi, 0x11
mov edx, 0x13
jmp 0x140002eb8
mov r9, r10
mov edi, 0xf
mov edx, 0x11
jmp 0x140002eb8
mov edi, 0xd
mov edx, 0xf
jmp 0x140002eb8
mov r9, r10
mov edi, 0xb
mov edx, 0xd
jmp 0x140002eb8
mov edi, 9
mov edx, 0xb
jmp 0x140002eb8
mov r9, r10
mov edi, 7
mov edx, 9
jmp 0x140002eb8
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseRangeErrorI
mov rax, qword [rdx]
lea r9, [rcx + 8]
and r9, 0xfffffffffffffff8
mov qword [rcx], rax
mov eax, ebp
mov r8, qword [rdx + rax - 8]
mov qword [rcx + rax - 8], r8
mov rax, rcx
mov rcx, rdx
sub rax, r9
sub rcx, rax
add eax, ebp
and eax, 0xfffffff8
cmp eax, 8
jb 0x140002e0e
and eax, 0xfffffff8
xor edx, edx
mov r8d, edx
add edx, 8
mov r10, qword [rcx + r8]
mov qword [r9 + r8], r10
cmp edx, eax
jb 0x140002fa2
jmp 0x140002e0e
lea rax, [rsi + rsi]
mov ebp, 2
mov edi, 0x16
lea rcx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movzx edx, byte [rcx + rax + 1]
mov byte [rsp + 0x37], dl
jmp 0x140002edd
movzx edx, word [rdx + rax - 2]
mov word [rcx + rax - 2], dx
jmp 0x140002e0e
call sym.raiseOverflow
jmp 0x140002ada
mov r8d, dword [rdx]
mov dword [rcx], r8d
mov edx, dword [rdx + rax - 4]
mov dword [rcx + rax - 4], edx
jmp 0x140002e0e
mov rsi, r9
jmp 0x140002d92
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseOverflow