Function at 0x1400286d0
Capabilities:
Encode data using base64
Get thread local storage value

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
lea rbp, [0x140050060]
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_scheme
test dl, dl
mov rdi, rcx
cmovne rbp, rax
test rcx, rcx
je 0x140028ba8
imul rbx, qword [rcx], 4
jo 0x140028d29
movabs rdx, 0x5555555555555556
mov rax, rbx
sar rbx, 0x3f
imul rdx
sub rdx, rbx
lea r12, [rdx + 6]
test r12, r12
js 0x140028b88
xor ecx, ecx
mov rdx, r12
call sym.setLengthStr
mov rcx, qword [rdi]
movabs rdx, 0x5555555555555556
mov r13, rax
mov rax, rcx
mov r15, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rcx
lea rdx, [rdx + rdx*2]
sub rax, rdx
sub r15, rax
jo 0x140028d1c
test r15, r15
je 0x140028cd9
test r13, r13
setne byte [rsp + 0x2f]
xor r12d, r12d
xor ebx, ebx
jmp 0x1400288e4
cmp rcx, rbx
jle 0x1400288ed
movzx esi, byte [rdi + rbx + 0x10]
shl esi, 0x10
add rbx, 1
jo 0x140028c6b
mov rdx, qword [rdi]
test rbx, rbx
js 0x1400287b8
cmp rbx, rdx
jl 0x1400287c4
sub rdx, 1
mov rcx, rbx
call sym.raiseIndexError2
movzx r14d, byte [rdi + rbx + 0x10]
shl r14d, 8
or r14d, esi
add rbx, 1
jo 0x140028c93
mov rdx, qword [rdi]
test rbx, rbx
js 0x1400287e8
cmp rbx, rdx
jl 0x1400287f4
sub rdx, 1
mov rcx, rbx
call sym.raiseIndexError2
movzx esi, byte [rdi + rbx + 0x10]
or esi, r14d
add rbx, 1
mov r14, rbx
jo 0x140028928
test r12, r12
js 0x140028900
cmp byte [rsp + 0x2f], 0
je 0x140028900
mov rdx, qword [r13]
cmp r12, rdx
jge 0x140028910
mov eax, esi
shr eax, 0x12
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028c89
mov rdx, qword [r13]
test r12, r12
js 0x140028851
cmp r12, rdx
jl 0x14002885d
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
mov eax, esi
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028c7f
mov rdx, qword [r13]
test r12, r12
js 0x140028887
cmp r12, rdx
jl 0x140028893
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
mov eax, esi
shr eax, 6
and eax, 0x3f
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028c75
mov rdx, qword [r13]
test r12, r12
js 0x1400288bd
cmp r12, rdx
jl 0x1400288c9
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
and esi, 0x3f
movzx eax, byte [rbp + rsi]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028938
cmp r15, r14
je 0x140028942
mov rcx, qword [rdi]
test rbx, rbx
jns 0x140028790
lea rdx, [rcx - 1]
mov rcx, rbx
call sym.raiseIndexError2
jmp 0x140028799
mov rdx, 0xffffffffffffffff
test r13, r13
je 0x140028914
mov rdx, qword [r13]
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
jmp 0x14002882a
call sym.raiseOverflow
jmp 0x140028809
call sym.raiseOverflow
cmp r15, r14
jne 0x1400288e1
movabs rdx, 0x5555555555555556
mov r8, qword [rdi]
mov rax, r8
imul rdx
mov rax, r8
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
mov rdx, r8
sub rdx, rax
cmp rdx, 1
je 0x140028a80
cmp rdx, 2
jne 0x140028b65
test r15, r15
js 0x140028be0
cmp r15, r8
jge 0x140028be0
movzx esi, byte [rdi + rbx + 0x10]
shl esi, 0x10
add rbx, 1
mov r14, rbx
jo 0x140028c61
mov rcx, qword [rdi]
test rbx, rbx
js 0x1400289b1
cmp rcx, r14
jg 0x1400289bd
lea rdx, [rcx - 1]
mov rcx, r14
call sym.raiseIndexError2
movzx ebx, byte [rdi + r14 + 0x10]
shl ebx, 8
or ebx, esi
add r14, 1
jo 0x140028cb1
test r13, r13
je 0x140028c40
test r12, r12
js 0x140028c40
mov rdx, qword [r13]
cmp r12, rdx
jge 0x140028c50
mov eax, ebx
shr eax, 0x12
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028ca7
mov rdx, qword [r13]
test r12, r12
js 0x140028a18
cmp r12, rdx
jl 0x140028a24
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
mov eax, ebx
shr eax, 0xc
and eax, 0x3f
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028c9d
mov rdx, qword [r13]
test r12, r12
js 0x140028a4e
cmp r12, rdx
jl 0x140028a5a
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
shr ebx, 6
and ebx, 0x3c
movzx eax, byte [rbp + rbx]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jno 0x140028b3a
call sym.raiseOverflow
jmp 0x140028b3a
test r15, r15
js 0x140028c00
cmp r15, r8
jge 0x140028c00
movzx esi, byte [rdi + rbx + 0x10]
shl esi, 0x10
add rbx, 1
jo 0x140028ccf
test r13, r13
je 0x140028c18
test r12, r12
js 0x140028c18
mov rdx, qword [r13]
cmp rdx, r12
jle 0x140028c28
mov eax, esi
shr eax, 0x12
movzx eax, byte [rbp + rax]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028cc5
mov rdx, qword [r13]
test r12, r12
js 0x140028aea
cmp r12, rdx
jl 0x140028af6
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
shr esi, 0xc
and esi, 0x30
movzx eax, byte [rbp + rsi]
mov byte [r13 + r12 + 0x10], al
add r12, 1
jo 0x140028cbb
mov rdx, qword [r13]
test r12, r12
js 0x140028b1e
cmp r12, rdx
jl 0x140028b2a
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
mov byte [r13 + r12 + 0x10], 0x3d
add r12, 1
jo 0x140028a74
mov rdx, qword [r13]
test r12, r12
js 0x140028b48
cmp r12, rdx
jl 0x140028b54
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
mov byte [r13 + r12 + 0x10], 0x3d
add r12, 1
jno 0x140028b65
call sym.raiseOverflow
test r12, r12
js 0x140028bc0
mov rdx, r12
mov rcx, r13
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.setLengthStr
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call sym.raiseRangeErrorI
jmp 0x14002872e
mov edx, 6
xor ecx, ecx
xor r12d, r12d
call sym.setLengthStr
mov r13, rax
jmp 0x140028b6a
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call sym.raiseRangeErrorI
jmp 0x140028b6a
xor ebx, ebx
nop dword [rax + rax]
lea rdx, [r8 - 1]
mov rcx, rbx
call sym.raiseIndexError2
jmp 0x14002898f
test rcx, rcx
jg 0x140028d33
xor ebx, ebx
xor r12d, r12d
nop
lea rdx, [r8 - 1]
mov rcx, rbx
call sym.raiseIndexError2
jmp 0x140028a92
mov rdx, 0xffffffffffffffff
test r13, r13
je 0x140028c2c
mov rdx, qword [r13]
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
jmp 0x140028ac3
mov rdx, 0xffffffffffffffff
test r13, r13
je 0x140028c54
mov rdx, qword [r13]
sub rdx, 1
mov rcx, r12
call sym.raiseIndexError2
jmp 0x1400289f1
call sym.raiseOverflow
jmp 0x1400289a4
call sym.raiseOverflow
jmp 0x1400287ab
call sym.raiseOverflow
jmp 0x1400288af
call sym.raiseOverflow
jmp 0x140028879
call sym.raiseOverflow
jmp 0x140028843
call sym.raiseOverflow
jmp 0x1400287db
call sym.raiseOverflow
jmp 0x140028a40
call sym.raiseOverflow
jmp 0x140028a0a
call sym.raiseOverflow
jmp 0x1400289d2
call sym.raiseOverflow
jmp 0x140028b10
call sym.raiseOverflow
jmp 0x140028adc
call sym.raiseOverflow
jmp 0x140028aa4
mov rax, rcx
mov r9d, 3
mov r8, rcx
cqo
idiv r9
cmp rdx, 1
je 0x140028bf1
xor r12d, r12d
cmp rdx, 2
jne 0x140028b6a
test rcx, rcx
jle 0x140028bd6
movzx esi, byte [rdi + 0x10]
mov r14d, 1
shl esi, 0x10
jmp 0x1400289ac
call sym.raiseOverflow
mov rcx, qword [rdi]
jmp 0x14002876e
call sym.raiseOverflow
jmp 0x14002870a
movzx esi, byte [rdi + 0x10]
xor r12d, r12d
shl esi, 0x10
jmp 0x140028aa4