Function at 0x422d3c
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 eax, r8d
mov byte [rbp + 0xf0], al
lea rax, [0x00430540]
mov qword [rbp + 0x68], rax
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0
mov word [rbp + 0x80], 0
lea rax, [rbp + 0x60]
mov rcx, rax
call sym.nimFrame_16
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0x70], 0x8f
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
cmp byte [rbp + 0xf0], 0
je 0x422dcd
lea rax, [0x00430500]
mov qword [rbp + 0xc8], rax
jmp 0x422ddc
nop
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__encode
mov qword [rbp + 0xc8], rax
mov qword [rbp + 0x70], 0x57
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x52
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x57
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
lea rdx, [rbp + 0x58]
mov ecx, 0
mov rax, qword [rbp + 0xe8]
imul rax, rax, 4
jno 0x422e30
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x422e42
call sym.raiseOverflow
mov rax, qword [rbp + 0x58]
lea rdx, [rbp + 0x50]
mov r8, rdx
mov edx, 3
mov rcx, rax
call sym.nimDivInt_1
test al, al
je 0x422e63
call sym.raiseOverflow
lea rdx, [rbp + 0x48]
mov rax, qword [rbp + 0x50]
mov ecx, 0
add rax, 6
jno 0x422e7b
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x422e8d
call sym.raiseOverflow
mov rax, qword [rbp + 0x48]
test rax, rax
jns 0x422eb1
mov rax, qword [rbp + 0x48]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.setLengthStr
mov qword [rbp + 0xb0], rax
mov qword [rbp + 0x70], 0x5a
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0x70], 0x5b
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0x70], 0x5c
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rcx, qword [rbp + 0xe8]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rdx
mov rdx, rax
add rdx, rdx
add rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x40], rax
lea rcx, [rbp + 0x38]
mov rax, qword [rbp + 0x40]
mov r8d, 0
mov rdx, qword [rbp + 0xe8]
sub rdx, rax
mov rax, rdx
jno 0x422f74
mov r8d, 1
mov qword [rcx], rax
mov rax, r8
and eax, 1
test al, al
je 0x422f86
call sym.raiseOverflow
mov rax, qword [rbp + 0x38]
mov qword [rbp + 0xa8], rax
mov dword [rbp + 0xa4], 0
mov dword [rbp + 0xa0], 0
mov qword [rbp + 0x70], 0x6d
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0xc0]
cmp rax, qword [rbp + 0xa8]
je 0x423653
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x42300c
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x6e
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
lea rdx, [rbp + 0x28]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x423066
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423078
call sym.raiseOverflow
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x4230c3
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x6f
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 8
or dword [rbp + 0xa4], eax
lea rdx, [rbp + 0x20]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x42311d
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x42312f
call sym.raiseOverflow
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x42317a
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x70
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
or dword [rbp + 0xa4], eax
lea rdx, [rbp + 0x18]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x4231d1
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x4231e3
call sym.raiseOverflow
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xb0], 0
je 0x423207
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x42320c
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423248
cmp qword [rbp + 0xb0], 0
je 0x423232
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423239
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x71
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x42329d
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp + 0x10]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x4232ed
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x4232ff
call sym.raiseOverflow
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x423323
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423328
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423364
cmp qword [rbp + 0xb0], 0
je 0x42334e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423355
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x72
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x4233b9
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp + 8]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423409
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x42341b
call sym.raiseOverflow
mov rax, qword [rbp + 8]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x42343f
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423444
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423480
cmp qword [rbp + 0xb0], 0
je 0x42346a
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423471
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x73
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x4234d5
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov rdx, rbp
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423524
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423536
call sym.raiseOverflow
mov rax, qword [rbp]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x42355a
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x42355f
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x42359b
cmp qword [rbp + 0xb0], 0
je 0x423585
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x42358c
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x74
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
and eax, 0x3f
cmp rax, 0x3f
jbe 0x4235e6
mov eax, dword [rbp + 0xa4]
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 8]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423631
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423643
call sym.raiseOverflow
mov rax, qword [rbp - 8]
mov qword [rbp + 0xb8], rax
jmp 0x422fb8
nop
mov qword [rbp + 0x70], 0x76
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rcx, qword [rbp + 0xe8]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sub rdx, rax
mov rax, rdx
mov rdx, rax
add rdx, rdx
add rdx, rax
mov rax, rcx
sub rax, rdx
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x70], 0x77
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x98], 1
jne 0x423b38
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x42370a
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x78
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
lea rdx, [rbp - 0x10]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x423764
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423776
call sym.raiseOverflow
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xb0], 0
je 0x42379a
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x42379f
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x4237db
cmp qword [rbp + 0xb0], 0
je 0x4237c5
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x4237cc
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x79
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x423830
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 0x18]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423880
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423892
call sym.raiseOverflow
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x4238b6
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x4238bb
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x4238f7
cmp qword [rbp + 0xb0], 0
je 0x4238e1
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x4238e8
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x7a
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x42394c
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 0x20]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x42399c
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x4239ae
call sym.raiseOverflow
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x4239d2
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x4239d7
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423a13
cmp qword [rbp + 0xb0], 0
je 0x4239fd
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423a04
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x7b
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
lea rdx, [rbp - 0x28]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423a59
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423a6b
call sym.raiseOverflow
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x423a8f
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423a94
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423ad0
cmp qword [rbp + 0xb0], 0
je 0x423aba
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423ac1
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x7c
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
lea rdx, [rbp - 0x30]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423b16
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423b28
call sym.raiseOverflow
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0xb8], rax
jmp 0x4240dd
nop
mov qword [rbp + 0x70], 0x7e
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x98], 2
jne 0x4240dc
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x423b9a
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x7f
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
lea rdx, [rbp - 0x38]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x423bf4
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423c06
call sym.raiseOverflow
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe8]
cmp rdx, rax
jb 0x423c51
mov rax, qword [rbp + 0xe8]
lea rdx, [rax - 1]
mov rax, qword [rbp + 0xc0]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0xe0]
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], pe_nt_image_headers64
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 8
or dword [rbp + 0xa4], eax
lea rdx, [rbp - 0x40]
mov ecx, 0
mov rax, qword [rbp + 0xc0]
add rax, 1
jno 0x423cab
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423cbd
call sym.raiseOverflow
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xb0], 0
je 0x423ce1
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423ce6
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423d22
cmp qword [rbp + 0xb0], 0
je 0x423d0c
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423d13
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x81
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x423d77
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 0x48]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423dc7
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423dd9
call sym.raiseOverflow
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x423dfd
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423e02
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423e3e
cmp qword [rbp + 0xb0], 0
je 0x423e28
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423e2f
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x82
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x423e93
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 0x50]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423ee3
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x423ef5
call sym.raiseOverflow
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x423f19
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x423f1e
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x423f5a
cmp qword [rbp + 0xb0], 0
je 0x423f44
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x423f4b
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x83
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
cmp rax, 0x3f
jbe 0x423faf
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov edx, 0x3f
mov rcx, rax
call sym.raiseIndexError2
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc8]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
lea rdx, [rbp - 0x58]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x423fff
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x424011
call sym.raiseOverflow
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x424035
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x42403a
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rdx, rax
ja 0x424076
cmp qword [rbp + 0xb0], 0
je 0x424060
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x424067
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x84
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
lea rdx, [rbp - 0x60]
mov ecx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x4240bc
mov ecx, 1
mov qword [rdx], rax
mov rax, rcx
and eax, 1
test al, al
je 0x4240ce
call sym.raiseOverflow
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0xb8], rax
nop
jmp 0x4240dd
nop
mov qword [rbp + 0x70], 0x86
lea rax, str.C:_nimlibpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xb8], 0
jns 0x424118
mov rax, qword [rbp + 0xb8]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.setLengthStr
mov qword [rbp + 0xb0], rax
call sym.popFrame_16
mov rax, qword [rbp + 0xb0]
add rsp, 0x150
pop rbp
ret