Function at 0x140027048
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], r8
mov eax, r9d
mov byte [rbp + 0xf8], al
lea rax, [0x14005d260]
mov qword [rbp + 0x58], rax
lea rax, str.C:_nim_2.0.0libpure_base64.nim
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x60], 0
mov word [rbp + 0x70], 0
lea rax, [rbp + 0x50]
mov rcx, rax
call sym.nimFrame_24
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0x60], 0x8f
movzx eax, byte [rbp + 0xf8]
xor eax, 1
test al, al
jne 0x140027106
lea rax, [0x14005d220]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
jmp 0x140027123
nop
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__encode
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x60], 0x55
mov qword [rbp + 0x60], 0x50
mov qword [rbp + 0x60], 0x55
mov ecx, 0
mov rax, qword [rbp + 0xf0]
imul rax, rax, 4
jno 0x140027152
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027170
call sym.raiseOverflow
jmp 0x140028108
mov rcx, qword [rbp + 0x48]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov r8, rdx
sar rcx, 0x3f
mov rdx, rcx
mov rax, r8
sub rax, rdx
mov ecx, 0
add rax, 6
jno 0x1400271a4
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400271c2
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x40]
test rax, rax
jns 0x1400271eb
mov rax, qword [rbp + 0x40]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140028108
mov rdx, qword [rbp + 0x40]
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.setLengthStrV2
mov qword [rbp + 0x60], 0x58
mov rcx, qword [rbp + 0xf0]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rdx
add rax, rax
add rax, rdx
sub rcx, rax
mov rdx, rcx
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0x60], 0x59
mov ecx, 0
mov rax, qword [rbp + 0xf0]
sub rax, qword [rbp + 0xa0]
jno 0x14002725f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14002727d
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x60], 0x5c
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0x60], 0x5d
mov qword [rbp + 0xb0], 0
mov dword [rbp + 0x94], 0
mov dword [rbp + 0x90], 0
mov qword [rbp + 0x60], 0x6e
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0x98]
je 0x140027845
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140027300
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x14002731f
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], 0x6f
mov eax, dword [rbp + 0x90]
shl eax, 0x10
mov dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140027372
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x30]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027390
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x1400273bd
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x1400273dc
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], 0x70
mov eax, dword [rbp + 0x90]
shl eax, 8
or dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x14002742f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x28]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14002744d
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x14002747a
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140027499
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], 0x71
mov eax, dword [rbp + 0x90]
or dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x1400274e9
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x20]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027507
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027534
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027553
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x72
mov eax, dword [rbp + 0x94]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x1400275b6
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400275d4
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027601
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027620
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x73
mov eax, dword [rbp + 0x94]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027683
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400276a1
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x1400276ce
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400276ed
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x74
mov eax, dword [rbp + 0x94]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027750
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14002776e
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x14002779b
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400277ba
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x75
mov eax, dword [rbp + 0x94]
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027818
mov ecx, 1
mov rdx, rax
mov rax, rbp
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027835
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
jmp 0x1400272ca
nop
mov qword [rbp + 0x60], 0x77
cmp qword [rbp + 0xa0], 1
jne 0x140027c18
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x14002787e
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x14002789d
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], 0x78
mov eax, dword [rbp + 0x90]
shl eax, 0x10
mov dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x1400278f0
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14002790e
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 8]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x14002793b
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x14002795a
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x79
mov eax, dword [rbp + 0x94]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x1400279bd
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400279db
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027a08
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027a27
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x7a
mov eax, dword [rbp + 0x94]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027a8a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027aa8
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140027ad5
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027af4
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x7b
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xb0]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027b3a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027b58
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140027b85
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027ba4
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x7c
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xb0]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027bea
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x28]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027c08
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xb0], rax
jmp 0x1400280c0
nop
mov qword [rbp + 0x60], 0x7e
cmp qword [rbp + 0xa0], 2
jne 0x1400280bf
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140027c51
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140027c70
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], 0x7f
mov eax, dword [rbp + 0x90]
shl eax, 0x10
mov dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140027cc3
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x30]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027ce1
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140027d0e
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140027d2d
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
mov rdx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xe8]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x90], eax
mov qword [rbp + 0x60], 0x63
mov qword [rbp + 0x60], pe_nt_image_headers64
mov eax, dword [rbp + 0x90]
shl eax, 8
or dword [rbp + 0x94], eax
mov ecx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140027d80
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027d9e
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027dcb
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027dea
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x81
mov eax, dword [rbp + 0x94]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027e4d
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027e6b
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027e98
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027eb7
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x82
mov eax, dword [rbp + 0x94]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027f1a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140027f38
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140027f65
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140027f84
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x83
mov eax, dword [rbp + 0x94]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
mov rcx, qword [rbp + 0x88]
movzx eax, byte [rax]
mov rdx, qword [rbp + 0xb0]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140027fe7
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140028005
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140028032
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140028051
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140028108
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_5
mov qword [rbp + 0x60], 0x84
mov rdx, qword [rbp + 0x88]
mov rax, qword [rbp + 0xb0]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov ecx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140028097
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400280b2
call sym.raiseOverflow
jmp 0x140028108
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0xb0], rax
jmp 0x1400280c0
nop
mov qword [rbp + 0x60], 0x86
cmp qword [rbp + 0xb0], 0
jns 0x1400280f2
mov rax, qword [rbp + 0xb0]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140028108
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.setLengthStrV2
call sym.popFrame_24
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x80]
mov rdx, qword [rbp + 0x88]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rbp + 0xe0]
add rsp, 0x150
pop rbp
ret