Function at 0x140078738
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, [0x1400ddae0]
mov qword [rbp + 0x58], rax
lea rax, str._home_alec_.choosenim_toolchains_nim_2.0.0_lib_pure_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_39
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 0x1400787f6
lea rax, [0x1400ddaa0]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0xc0], rax
jmp 0x140078813
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 0x140078842
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078860
call sym.raiseOverflow
jmp 0x1400797f8
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 0x140078894
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400788b2
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x40]
test rax, rax
jns 0x1400788db
mov rax, qword [rbp + 0x40]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400797f8
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 0x14007894f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14007896d
call sym.raiseOverflow
jmp 0x1400797f8
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 0x140078f35
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x1400789f0
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140078a0f
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x140078a62
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x30]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078a80
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140078aad
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140078acc
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x140078b1f
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x28]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078b3d
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140078b6a
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140078b89
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x140078bd9
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x20]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078bf7
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140078c24
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140078c43
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x140078ca6
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078cc4
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140078cf1
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140078d10
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x140078d73
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078d91
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140078dbe
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140078ddd
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x140078e40
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078e5e
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140078e8b
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140078eaa
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x140078f08
mov ecx, 1
mov rdx, rax
mov rax, rbp
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078f25
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp]
mov qword [rbp + 0xb0], rax
jmp 0x1400789ba
nop
mov qword [rbp + 0x60], 0x77
cmp qword [rbp + 0xa0], 1
jne 0x140079308
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140078f6e
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140078f8d
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x140078fe0
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 8]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140078ffe
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 8]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x14007902b
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x14007904a
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x1400790ad
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400790cb
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x1400790f8
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140079117
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x14007917a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140079198
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x1400791c5
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400791e4
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x14007922a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140079248
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140079275
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140079294
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x1400792da
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x28]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400792f8
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xb0], rax
jmp 0x1400797b0
nop
mov qword [rbp + 0x60], 0x7e
cmp qword [rbp + 0xa0], 2
jne 0x1400797af
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x140079341
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x140079360
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x1400793b3
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x30]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400793d1
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x62
cmp qword [rbp + 0xa8], 0
js 0x1400793fe
mov rax, qword [rbp + 0xa8]
cmp rax, qword [rbp + 0xf0]
jl 0x14007941d
mov rax, qword [rbp + 0xf0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xa8]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
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 0x140079470
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14007948e
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xa8], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x1400794bb
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400794da
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x14007953d
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14007955b
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140079588
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x1400795a7
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x14007960a
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x140079628
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x67
cmp qword [rbp + 0xb0], 0
js 0x140079655
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140079674
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x1400796d7
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400796f5
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x60], 0x6b
cmp qword [rbp + 0xb0], 0
js 0x140079722
mov rax, qword [rbp + 0x80]
cmp qword [rbp + 0xb0], rax
jl 0x140079741
mov rax, qword [rbp + 0x80]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400797f8
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.nimPrepareStrMutationV2_9
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 0x140079787
mov ecx, 1
mov rdx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x1400797a2
call sym.raiseOverflow
jmp 0x1400797f8
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0xb0], rax
jmp 0x1400797b0
nop
mov qword [rbp + 0x60], 0x86
cmp qword [rbp + 0xb0], 0
jns 0x1400797e2
mov rax, qword [rbp + 0xb0]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x1400797f8
mov rdx, qword [rbp + 0xb0]
lea rax, [rbp + 0x80]
mov rcx, rax
call sym.setLengthStrV2
call sym.popFrame_39
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