Function at 0x1400036a0
Capabilities:
Terminate process

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
test rdx, rdx
mov rsi, rcx
mov rbx, rdx
js 0x140003970
cmp rbx, 0x63
jbe 0x1400039cf
movabs r8, 0x28f5c28f5c28f5c3
mov rax, rbx
shr rax, 2
mul r8
mov rax, rbx
mov rcx, rdx
shr rcx, 2
imul r9, rcx, 0x64
sub rax, r9
cmp rbx, 0x270f
lea eax, [rax + rax + 1]
lea r9, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movsx rax, ax
movzx eax, word [r9 + rax - 1]
mov word [rsp + 0x36], ax
jbe 0x1400039e8
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
shr r10, 2
imul rax, r10, 0x64
sub rcx, rax
cmp rbx, 0xf423f
lea ecx, [rcx + rcx + 1]
movsx rcx, cx
movzx eax, word [r9 + rcx - 1]
mov word [rsp + 0x34], ax
jbe 0x140003a29
shr rdx, 4
mov rax, rdx
mul r8
mov rcx, rdx
shr rcx, 2
imul rax, rcx, 0x64
sub r10, rax
cmp rbx, 0x5f5e0ff
lea r10d, [r10 + r10 + 1]
movsx r10, r10w
movzx eax, word [r9 + r10 - 1]
mov word [rsp + 0x32], ax
jbe 0x140003a38
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
shr r10, 2
imul rax, r10, 0x64
sub rcx, rax
lea ecx, [rcx + rcx + 1]
movsx rcx, cx
movzx eax, word [r9 + rcx - 1]
mov word [rsp + 0x30], ax
movabs rax, 0x2540be3ff
cmp rax, rbx
jae 0x140003a44
shr rdx, 4
mov rax, rdx
mul r8
mov rcx, rdx
shr rcx, 2
imul rax, rcx, 0x64
sub r10, rax
lea r10d, [r10 + r10 + 1]
movsx r10, r10w
movzx eax, word [r9 + r10 - 1]
mov word [rsp + 0x2e], ax
movabs rax, 0xe8d4a50fff
cmp rax, rbx
jae 0x140003a53
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
shr r10, 2
imul rax, r10, 0x64
sub rcx, rax
lea ecx, [rcx + rcx + 1]
movsx rcx, cx
movzx eax, word [r9 + rcx - 1]
mov word [rsp + 0x2c], ax
movabs rax, 0x5af3107a3fff
cmp rax, rbx
jae 0x140003a5f
shr rdx, 4
mov rax, rdx
mul r8
mov rcx, rdx
shr rcx, 2
imul rax, rcx, 0x64
sub r10, rax
lea r10d, [r10 + r10 + 1]
movsx r10, r10w
movzx eax, word [r9 + r10 - 1]
mov word [rsp + 0x2a], ax
movabs rax, 0x2386f26fc0ffff
cmp rax, rbx
jae 0x140003a6e
shr rdx, 4
mov rax, rdx
mul r8
mov r10, rdx
shr r10, 2
imul rax, r10, 0x64
sub rcx, rax
lea ecx, [rcx + rcx + 1]
movsx rcx, cx
movzx eax, word [r9 + rcx - 1]
mov word [rsp + 0x28], ax
movabs rax, 0xde0b6b3a763ffff
cmp rax, rbx
jae 0x140003a7d
shr rdx, 4
mov edi, 5
mov rax, rdx
mul r8
mov rbx, rdx
shr rbx, 2
imul rax, rbx, 0x64
sub r10, rax
lea r10d, [r10 + r10 + 1]
movsx r10, r10w
movzx eax, word [r9 + r10 - 1]
mov word [rsp + 0x26], ax
mov ebp, 0x18
sub rbp, rdi
add ebx, 0x30
mov byte [rsp + rdi + 0x20], bl
mov rbx, qword [rsi]
mov rcx, rbx
add rcx, rbp
jo 0x140003b23
test rcx, rcx
js 0x140003a8f
mov rdx, rcx
mov rcx, rsi
call sym.setLengthStrV2
test rbx, rbx
mov rax, qword [rsi]
js 0x1400039bb
cmp rbx, rax
jge 0x1400039bb
mov rax, qword [rsi + 8]
lea r8, [rsp + rdi + 0x20]
cmp ebp, 8
lea rcx, [rax + rbx + 8]
mov eax, ebp
jae 0x140003aa8
and ebp, 4
jne 0x140003b10
test eax, eax
je 0x140003962
movzx edx, byte [r8]
test al, 2
mov byte [rcx], dl
jne 0x140003b00
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rax, rdx
movabs rdx, 0x8000000000000000
neg rax
cmp rbx, rdx
mov edx, 1
cmovne rbx, rax
call sym.prepareAdd
mov rax, qword [rsi]
mov rdx, qword [rsi + 8]
mov byte [rdx + rax + 8], 0x2d
mov rax, qword [rsi]
add rax, 1
jo 0x140003b38
mov rdx, qword [rsi + 8]
mov qword [rsi], rax
mov byte [rdx + rax + 8], 0
jmp 0x1400036b7
lea rdx, [rax - 1]
mov rcx, rbx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseIndexError2
cmp rbx, 9
ja 0x140003adc
mov ebp, 1
mov edi, 0x17
jmp 0x1400038ef
mov edi, 0x15
mov eax, 0x17
nop word [rax + rax]
cmp rcx, 9
jbe 0x140003b30
add rcx, rcx
mov ebp, 0x18
movzx edx, byte [r9 + rcx + 1]
mov byte [rsp + rdi + 0x20], dl
lea rdi, [rax - 3]
sub rbp, rdi
movzx eax, byte [r9 + rcx]
mov byte [rsp + rdi + 0x20], al
jmp 0x1400038f6
mov rcx, r10
mov edi, 0x13
mov eax, 0x15
jmp 0x1400039f8
mov edi, 0x11
mov eax, 0x13
jmp 0x1400039f8
mov rcx, r10
mov edi, 0xf
mov eax, 0x11
jmp 0x1400039f8
mov edi, 0xd
mov eax, 0xf
jmp 0x1400039f8
mov rcx, r10
mov edi, 0xb
mov eax, 0xd
jmp 0x1400039f8
mov edi, 9
mov eax, 0xb
jmp 0x1400039f8
mov rcx, r10
mov edi, 7
mov eax, 9
jmp 0x1400039f8
movabs r8, 0x7fffffffffffffff
xor edx, edx
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseRangeErrorI
mov eax, ebp
mov rdx, qword [r8 + rax - 8]
mov qword [rcx + rax - 8], rdx
lea eax, [rbp - 1]
cmp eax, 8
jb 0x140003962
and eax, 0xfffffff8
xor edx, edx
mov r9d, edx
add edx, 8
mov r10, qword [r8 + r9]
cmp edx, eax
mov qword [rcx + r9], r10
jb 0x140003ac5
jmp 0x140003962
lea rcx, [rbx + rbx]
mov ebp, 2
mov edi, 0x16
lea r9, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
movzx eax, byte [r9 + rcx + 1]
mov byte [rsp + 0x37], al
jmp 0x140003a1b
movzx edx, word [r8 + rax - 2]
mov word [rcx + rax - 2], dx
jmp 0x140003962
mov edx, dword [r8]
mov dword [rcx], edx
mov edx, dword [r8 + rax - 4]
mov dword [rcx + rax - 4], edx
jmp 0x140003962
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
jmp sym.raiseOverflow
mov rbx, rcx
jmp 0x1400038e7
call sym.raiseOverflow
jmp 0x1400036b7