Function at 0x140024d65
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, [0x140059d80]
mov qword [rbp + 0x58], rax
lea rax, str.C:Userskrisshsivaparan.choosenim_toolchains_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_21
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 0x140024e23
lea rax, [0x140059d40]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
jmp 0x140024e40
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 edx, 0
mov rax, qword [rbp + 0xf0]
imul rax, rax, 4
jno 0x140024e6f
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140024e8d
call sym.raiseOverflow
jmp 0x140025e1f
mov rcx, qword [rbp + 0x48]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
sar rcx, 0x3f
mov rax, rdx
sub rax, rcx
mov edx, 0
add rax, 6
jno 0x140024ebb
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x40]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140024ed9
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x40]
test rax, rax
jns 0x140024f02
mov rax, qword [rbp + 0x40]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xf0]
sub rax, qword [rbp + 0xa0]
jno 0x140024f76
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140024f94
call sym.raiseOverflow
jmp 0x140025e1f
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 0x14002555c
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140025017
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140025036
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140025089
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x30]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400250a7
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x1400250d4
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x1400250f3
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140025146
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025164
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140025191
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x1400251b0
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140025200
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14002521e
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x14002524b
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x14002526a
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x1400252cd
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400252eb
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140025318
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025337
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x14002539a
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400253b8
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x1400253e5
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025404
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025467
mov edx, 1
mov rcx, rax
lea rax, [rbp + 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025485
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x1400254b2
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400254d1
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x14002552f
mov edx, 1
mov rcx, rax
mov rax, rbp
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14002554c
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
jmp 0x140024fe1
nop
mov qword [rbp + 0x60], 0x77
cmp qword [rbp + 0xa0], 1
jne 0x14002592f
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140025595
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x1400255b4
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140025607
mov edx, 1
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025625
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 8]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140025652
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025671
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x1400256d4
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400256f2
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x14002571f
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x14002573e
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x1400257a1
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400257bf
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x1400257ec
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x14002580b
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025851
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14002586f
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x14002589c
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400258bb
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025901
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14002591f
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xb0], rax
jmp 0x140025dd7
nop
mov qword [rbp + 0x60], 0x7e
cmp qword [rbp + 0xa0], 2
jne 0x140025dd6
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140025968
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140025987
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x1400259da
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x30]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400259f8
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140025a25
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140025a44
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xa8]
add rax, 1
jno 0x140025a97
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025ab5
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140025ae2
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025b01
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025b64
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025b82
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140025baf
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025bce
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025c31
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025c4f
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140025c7c
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025c9b
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025cfe
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025d1c
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140025d49
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140025d68
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140025e1f
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 edx, 0
mov rax, qword [rbp + 0xb0]
add rax, 1
jno 0x140025dae
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140025dc9
call sym.raiseOverflow
jmp 0x140025e1f
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0xb0], rax
jmp 0x140025dd7
nop
mov qword [rbp + 0x60], 0x86
cmp qword [rbp + 0xb0], 0
jns 0x140025e09
mov rax, qword [rbp + 0xb0]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140025e1f
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.setLengthStrV2
call sym.popFrame_21
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