Function at 0x140016465
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x200
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x190], rcx
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1a0], r8
mov eax, r9d
mov byte [rbp + 0x1a8], al
lea rax, str.encode
mov qword [rbp + 0xf8], rax
lea rax, str.C:Program_Files_nim_2.0.2libpure_base64.nim
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x100], 0
mov word [rbp + 0x110], 0
lea rax, [rbp + 0xf0]
mov rcx, rax
call sym.nimFrame_7
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x100], 0x9a
movzx eax, byte [rbp + 0x1a8]
xor eax, 1
test al, al
jne 0x1400175be
mov qword [rbp + 0x100], 0x51
mov qword [rbp + 0x100], 0x4c
mov qword [rbp + 0x100], 0x51
mov edx, 0
mov rax, qword [rbp + 0x1a0]
imul rax, rax, 4
jno 0x14001653d
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xe8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001655e
call sym.raiseOverflow
jmp 0x140018612
mov rcx, qword [rbp + 0xe8]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
sar rcx, 0x3f
mov rax, rdx
sub rax, rcx
mov edx, 0
add rax, 6
jno 0x14001658f
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xe0]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400165b0
call sym.raiseOverflow
jmp 0x140018612
mov rax, qword [rbp + 0xe0]
test rax, rax
jns 0x1400165df
mov rax, qword [rbp + 0xe0]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140018612
mov rdx, qword [rbp + 0xe0]
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.setLengthStrV2
mov qword [rbp + 0x100], 0x54
mov rcx, qword [rbp + 0x1a0]
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 + 0x158], rdx
mov qword [rbp + 0x100], 0x55
mov edx, 0
mov rax, qword [rbp + 0x1a0]
sub rax, qword [rbp + 0x158]
jno 0x14001665c
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xd8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001667d
call sym.raiseOverflow
jmp 0x140018612
mov rax, qword [rbp + 0xd8]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x100], 0x58
mov qword [rbp + 0x170], 0
mov qword [rbp + 0x100], 0x59
mov qword [rbp + 0x168], 0
mov dword [rbp + 0x17c], 0
mov dword [rbp + 0x178], 0
mov qword [rbp + 0x100], 0x6a
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x160]
je 0x140016c9f
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x14001670f
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x14001672e
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6b
mov eax, dword [rbp + 0x178]
shl eax, 0x10
mov dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x140016787
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xd0]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400167a8
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x1400167db
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x1400167fa
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6c
mov eax, dword [rbp + 0x178]
shl eax, 8
or dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x140016853
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xc8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016874
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x1400168a7
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x1400168c6
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6d
mov eax, dword [rbp + 0x178]
or dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x14001691c
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xc0]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001693d
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xc0]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016970
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x14001698f
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x6e
mov eax, dword [rbp + 0x17c]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x1400169f0
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xb8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016a11
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016a44
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016a63
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x6f
mov eax, dword [rbp + 0x17c]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016ac4
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xb0]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016ae5
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016b18
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016b37
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x70
mov eax, dword [rbp + 0x17c]
shr eax, 6
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016b98
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xa8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016bb9
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016bec
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016c0b
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140016c9a
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x71
mov eax, dword [rbp + 0x17c]
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016c69
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0xa0]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016c87
call sym.raiseOverflow
jmp 0x140016c9a
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x168], rax
jmp 0x1400166d6
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x73
cmp qword [rbp + 0x158], 1
jne 0x1400170a3
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x140016cde
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x140016cfd
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x74
mov eax, dword [rbp + 0x178]
shl eax, 0x10
mov dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x140016d56
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x98]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016d77
call sym.raiseOverflow
jmp 0x14001709e
mov rax, qword [rbp + 0x98]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016daa
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016dc9
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x14001709e
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x75
mov eax, dword [rbp + 0x17c]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016e2a
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x90]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016e4b
call sym.raiseOverflow
jmp 0x14001709e
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x140016e7e
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016e9d
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x14001709e
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x76
mov eax, dword [rbp + 0x17c]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016efe
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x88]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016f1f
call sym.raiseOverflow
jmp 0x14001709e
mov rax, qword [rbp + 0x88]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x168], 0
js 0x140016f52
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140016f71
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x14001709e
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x77
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x168]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140016fba
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x80]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140016fdb
call sym.raiseOverflow
jmp 0x14001709e
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x168], 0
js 0x14001700e
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x14001702a
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x14001709e
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x78
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x168]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x140017073
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x78]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001708e
call sym.raiseOverflow
jmp 0x14001709e
mov rax, qword [rbp + 0x78]
mov qword [rbp + 0x168], rax
jmp 0x14001756b
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x7a
cmp qword [rbp + 0x158], 2
jne 0x14001756a
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x1400170e2
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x140017101
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x7b
mov eax, dword [rbp + 0x178]
shl eax, 0x10
mov dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x14001715a
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x70]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017178
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x170], 0
js 0x1400171a8
mov rax, qword [rbp + 0x170]
cmp rax, qword [rbp + 0x1a0]
jl 0x1400171c7
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x170]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017565
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x178], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x7c
mov eax, dword [rbp + 0x178]
shl eax, 8
or dword [rbp + 0x17c], eax
mov edx, 0
mov rax, qword [rbp + 0x170]
add rax, 1
jno 0x140017220
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x68]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001723e
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x170], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x14001726e
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x14001728d
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017565
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7d
mov eax, dword [rbp + 0x17c]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x1400172ee
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x60]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001730c
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x60]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x14001733c
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x14001735b
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017565
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7e
mov eax, dword [rbp + 0x17c]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x1400173bc
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400173da
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x58]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x168], 0
js 0x14001740a
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x140017429
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017565
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7f
mov eax, dword [rbp + 0x17c]
shr eax, 6
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x168]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x14001748a
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x50]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400174a8
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x168], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x168], 0
js 0x1400174d8
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x168], rax
jl 0x1400174f4
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x168]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017565
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], pe_nt_image_headers64
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x168]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x168]
add rax, 1
jno 0x14001753d
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017558
call sym.raiseOverflow
jmp 0x140017565
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x168], rax
jmp 0x14001756b
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x82
cmp qword [rbp + 0x168], 0
jns 0x1400175a3
mov rax, qword [rbp + 0x168]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140018612
mov rdx, qword [rbp + 0x168]
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.setLengthStrV2
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x51
mov qword [rbp + 0x100], 0x4c
mov qword [rbp + 0x100], 0x51
mov edx, 0
mov rax, qword [rbp + 0x1a0]
imul rax, rax, 4
jno 0x1400175f7
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x40]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017615
call sym.raiseOverflow
jmp 0x140018612
mov rcx, qword [rbp + 0x40]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
sar rcx, 0x3f
mov rax, rdx
sub rax, rcx
mov edx, 0
add rax, 6
jno 0x140017643
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017661
call sym.raiseOverflow
jmp 0x140018612
mov rax, qword [rbp + 0x38]
test rax, rax
jns 0x14001768a
mov rax, qword [rbp + 0x38]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140018612
mov rdx, qword [rbp + 0x38]
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.setLengthStrV2
mov qword [rbp + 0x100], 0x54
mov rcx, qword [rbp + 0x1a0]
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 + 0x140], rdx
mov qword [rbp + 0x100], 0x55
mov edx, 0
mov rax, qword [rbp + 0x1a0]
sub rax, qword [rbp + 0x140]
jno 0x140017704
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x30]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017722
call sym.raiseOverflow
jmp 0x140018612
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x100], 0x58
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x100], 0x59
mov qword [rbp + 0x148], 0
mov dword [rbp + 0x134], 0
mov dword [rbp + 0x130], 0
mov qword [rbp + 0x100], 0x6a
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x138]
je 0x140017d16
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x1400177b1
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x1400177d0
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6b
mov eax, dword [rbp + 0x130]
shl eax, 0x10
mov dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x140017829
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017847
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x140017877
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x140017896
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6c
mov eax, dword [rbp + 0x130]
shl eax, 8
or dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x1400178ef
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001790d
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x14001793d
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x14001795c
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x6d
mov eax, dword [rbp + 0x130]
or dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x1400179b2
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400179d0
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017a00
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017a1f
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x6e
mov eax, dword [rbp + 0x134]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017a80
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017a9e
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017ace
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017aed
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x6f
mov eax, dword [rbp + 0x134]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017b4e
mov edx, 1
mov rcx, rax
lea rax, [rbp + 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017b6c
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp + 8]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017b9c
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017bbb
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x70
mov eax, dword [rbp + 0x134]
shr eax, 6
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017c1c
mov edx, 1
mov rcx, rax
mov rax, rbp
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017c39
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017c69
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017c88
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140017d11
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x71
mov eax, dword [rbp + 0x134]
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017ce6
mov edx, 1
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017d01
call sym.raiseOverflow
jmp 0x140017d11
mov rax, qword [rbp - 8]
mov qword [rbp + 0x148], rax
jmp 0x140017778
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x73
cmp qword [rbp + 0x140], 1
jne 0x140018102
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x140017d55
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x140017d74
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x74
mov eax, dword [rbp + 0x130]
shl eax, 0x10
mov dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x140017dcd
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017deb
call sym.raiseOverflow
jmp 0x1400180fd
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017e1b
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017e3a
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400180fd
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x75
mov eax, dword [rbp + 0x134]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017e9b
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017eb9
call sym.raiseOverflow
jmp 0x1400180fd
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140017ee9
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017f08
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400180fd
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x76
mov eax, dword [rbp + 0x134]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x140017f69
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140017f87
call sym.raiseOverflow
jmp 0x1400180fd
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x148], 0
js 0x140017fb7
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140017fd6
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400180fd
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x77
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x148]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x14001801f
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001803d
call sym.raiseOverflow
jmp 0x1400180fd
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x148], 0
js 0x14001806d
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140018089
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400180fd
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x78
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x148]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x1400180d2
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x30]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400180ed
call sym.raiseOverflow
jmp 0x1400180fd
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0x148], rax
jmp 0x1400185c7
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x7a
cmp qword [rbp + 0x140], 2
jne 0x1400185c6
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x140018141
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x140018160
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x140018612
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x7b
mov eax, dword [rbp + 0x130]
shl eax, 0x10
mov dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x1400181b9
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400181d7
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x5e
cmp qword [rbp + 0x150], 0
js 0x140018207
mov rax, qword [rbp + 0x150]
cmp rax, qword [rbp + 0x1a0]
jl 0x140018226
mov rax, qword [rbp + 0x1a0]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x150]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400185c4
mov rdx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x198]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0x130], eax
mov qword [rbp + 0x100], 0x5f
mov qword [rbp + 0x100], 0x7c
mov eax, dword [rbp + 0x130]
shl eax, 8
or dword [rbp + 0x134], eax
mov edx, 0
mov rax, qword [rbp + 0x150]
add rax, 1
jno 0x14001827f
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001829d
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x1400182cd
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x1400182ec
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400185c4
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7d
mov eax, dword [rbp + 0x134]
shr eax, 0x12
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x14001834d
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001836b
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x14001839b
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x1400183ba
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400185c4
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7e
mov eax, dword [rbp + 0x134]
shr eax, 0xc
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x14001841b
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140018439
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x63
cmp qword [rbp + 0x148], 0
js 0x140018469
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140018488
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400185c4
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], 0x7f
mov eax, dword [rbp + 0x134]
shr eax, 6
and eax, 0x3f
mov rcx, qword [rbp + 0x128]
mov edx, eax
lea rax, [0x140067dc0]
movzx eax, byte [rdx + rax]
mov rdx, qword [rbp + 0x148]
add rdx, rcx
add rdx, 8
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x1400184e9
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x140018507
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x100], 0x67
cmp qword [rbp + 0x148], 0
js 0x140018537
mov rax, qword [rbp + 0x120]
cmp qword [rbp + 0x148], rax
jl 0x140018553
mov rax, qword [rbp + 0x120]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0x148]
mov rcx, rax
call sym.raiseIndexError2
jmp 0x1400185c4
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.nimPrepareStrMutationV2_2
mov qword [rbp + 0x100], pe_nt_image_headers64
mov rdx, qword [rbp + 0x128]
mov rax, qword [rbp + 0x148]
add rax, rdx
add rax, 8
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0x148]
add rax, 1
jno 0x14001859c
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x60]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x1400185b7
call sym.raiseOverflow
jmp 0x1400185c4
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0x148], rax
jmp 0x1400185c7
jmp 0x140018612
nop
mov qword [rbp + 0x100], 0x82
cmp qword [rbp + 0x148], 0
jns 0x1400185fc
mov rax, qword [rbp + 0x148]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
jmp 0x140018612
mov rdx, qword [rbp + 0x148]
lea rax, [rbp + 0x120]
mov rcx, rax
call sym.setLengthStrV2
call sym.popFrame_7
mov rcx, qword [rbp + 0x190]
mov rax, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x128]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov rax, qword [rbp + 0x190]
add rsp, 0x200
pop rbp
ret