Function at 0x14001a032
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xe0], rcx
mov eax, edx
mov byte [rbp + 0xe8], al
lea rax, [0x140040140]
mov qword [rbp + 0x68], rax
lea rax, str.D:Tool_nim_1.4.8libpure_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_5
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0x70], 0x8f
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
movzx eax, byte [rbp + 0xe8]
xor eax, 1
test al, al
jne 0x14001a0c0
lea rax, [0x140040100]
mov qword [rbp + 0xc0], rax
jmp 0x14001a0cf
nop
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__encode
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0x70], 0x57
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x52
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x57
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a11e
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
jmp 0x14001a123
mov eax, 0
mov edx, 0
imul rax, rax, 4
jno 0x14001a133
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a14c
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 0x14001a16d
call sym.raiseOverflow
mov rax, qword [rbp + 0x50]
mov edx, 0
add rax, 6
jno 0x14001a181
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a19a
call sym.raiseOverflow
mov rax, qword [rbp + 0x48]
test rax, rax
jns 0x14001a1be
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.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0x70], 0x5b
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0x70], 0x5c
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a26c
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rax]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov r8, rdx
mov rdx, rcx
sar rdx, 0x3f
mov rax, r8
sub rax, rdx
mov rdx, rax
add rdx, rdx
add rdx, rax
mov rax, rcx
sub rax, rdx
jmp 0x14001a271
mov eax, 0
mov qword [rbp + 0x40], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a28b
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
jmp 0x14001a290
mov eax, 0
mov rdx, qword [rbp + 0x40]
mov ecx, 0
sub rax, rdx
jno 0x14001a2a3
mov ecx, 1
mov rdx, rax
lea rax, [rbp + 0x38]
mov qword [rax], rdx
mov rax, rcx
and eax, 1
test al, al
je 0x14001a2bc
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.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0xb8]
cmp rax, qword [rbp + 0xa8]
je 0x14001a97f
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a32e
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a333
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001a36f
cmp qword [rbp + 0xe0], 0
je 0x14001a359
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a360
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x6e
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001a3c9
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a3e2
call sym.raiseOverflow
mov rax, qword [rbp + 0x28]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a419
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a41e
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001a45a
cmp qword [rbp + 0xe0], 0
je 0x14001a444
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a44b
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x6f
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 8
or dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001a4b4
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a4cd
call sym.raiseOverflow
mov rax, qword [rbp + 0x20]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a504
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a509
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001a545
cmp qword [rbp + 0xe0], 0
je 0x14001a52f
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a536
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x70
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
or dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001a59c
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a5b5
call sym.raiseOverflow
mov rax, qword [rbp + 0x18]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001a5d9
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a5de
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001a61a
cmp qword [rbp + 0xb0], 0
je 0x14001a604
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a60b
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x71
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001a68c
mov edx, 1
mov rcx, rax
lea rax, [rbp + 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a6a5
call sym.raiseOverflow
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001a6c9
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a6ce
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001a70a
cmp qword [rbp + 0xb0], 0
je 0x14001a6f4
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a6fb
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x72
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001a77c
mov edx, 1
mov rcx, rax
lea rax, [rbp + 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a795
call sym.raiseOverflow
mov rax, qword [rbp + 8]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001a7b9
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a7be
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001a7fa
cmp qword [rbp + 0xb0], 0
je 0x14001a7e4
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a7eb
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x73
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001a86c
mov edx, 1
mov rcx, rax
mov rax, rbp
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a884
call sym.raiseOverflow
mov rax, qword [rbp]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001a8a8
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001a8ad
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001a8e9
cmp qword [rbp + 0xb0], 0
je 0x14001a8d3
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001a8da
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x74
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001a956
mov edx, 1
mov rcx, rax
lea rax, [rbp - 8]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001a96f
call sym.raiseOverflow
mov rax, qword [rbp - 8]
mov qword [rbp + 0xc8], rax
jmp 0x14001a2ee
nop
mov qword [rbp + 0x70], 0x76
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001a9d8
mov rax, qword [rbp + 0xe0]
mov rcx, qword [rax]
movabs rdx, 0x5555555555555556
mov rax, rcx
imul rdx
mov r8, rdx
mov rdx, rcx
sar rdx, 0x3f
mov rax, r8
sub rax, rdx
mov rdx, rax
add rdx, rdx
add rdx, rax
mov rax, rcx
sub rax, rdx
jmp 0x14001a9dd
mov eax, 0
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x30]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0x70], 0x77
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x98], 1
jne 0x14001ae5d
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001aa39
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001aa3e
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001aa7a
cmp qword [rbp + 0xe0], 0
je 0x14001aa64
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001aa6b
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x78
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001aad4
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x10]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001aaed
call sym.raiseOverflow
mov rax, qword [rbp - 0x10]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001ab11
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001ab16
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001ab52
cmp qword [rbp + 0xb0], 0
je 0x14001ab3c
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001ab43
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x79
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001abc4
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x18]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001abdd
call sym.raiseOverflow
mov rax, qword [rbp - 0x18]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001ac01
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001ac06
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001ac42
cmp qword [rbp + 0xb0], 0
je 0x14001ac2c
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001ac33
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x7a
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001acb4
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x20]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001accd
call sym.raiseOverflow
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001acf1
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001acf6
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001ad32
cmp qword [rbp + 0xb0], 0
je 0x14001ad1c
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001ad23
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x7b
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001ad74
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x28]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001ad8d
call sym.raiseOverflow
mov rax, qword [rbp - 0x28]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001adb1
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001adb6
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001adf2
cmp qword [rbp + 0xb0], 0
je 0x14001addc
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001ade3
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x7c
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001ae34
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x30]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001ae4d
call sym.raiseOverflow
mov rax, qword [rbp - 0x30]
mov qword [rbp + 0xc8], rax
jmp 0x14001b3e8
nop
mov qword [rbp + 0x70], 0x7e
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0x98], 2
jne 0x14001b3e7
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001aeab
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001aeb0
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001aeec
cmp qword [rbp + 0xe0], 0
je 0x14001aed6
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001aedd
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], 0x7f
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 0x10
mov dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001af46
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x38]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001af5f
call sym.raiseOverflow
mov rax, qword [rbp - 0x38]
mov qword [rbp + 0xb8], rax
mov qword [rbp + 0x70], 0x61
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xe0], 0
je 0x14001af96
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001af9b
mov edx, 0
mov rax, qword [rbp + 0xb8]
cmp rax, rdx
jb 0x14001afd7
cmp qword [rbp + 0xe0], 0
je 0x14001afc1
mov rax, qword [rbp + 0xe0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001afc8
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xb8]
mov rcx, rax
call sym.raiseIndexError2
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xb8]
add rax, rdx
add rax, 0x10
movzx eax, byte [rax]
movzx eax, al
mov dword [rbp + 0xa0], eax
mov qword [rbp + 0x70], pe_nt_image_headers64
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa0]
shl eax, 8
or dword [rbp + 0xa4], eax
mov edx, 0
mov rax, qword [rbp + 0xb8]
add rax, 1
jno 0x14001b031
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x40]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001b04a
call sym.raiseOverflow
mov rax, qword [rbp - 0x40]
mov qword [rbp + 0xb8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001b06e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001b073
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001b0af
cmp qword [rbp + 0xb0], 0
je 0x14001b099
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001b0a0
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x81
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0x12
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001b121
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x48]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001b13a
call sym.raiseOverflow
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001b15e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001b163
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001b19f
cmp qword [rbp + 0xb0], 0
je 0x14001b189
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001b190
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x82
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 0xc
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001b211
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x50]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001b22a
call sym.raiseOverflow
mov rax, qword [rbp - 0x50]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001b24e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001b253
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001b28f
cmp qword [rbp + 0xb0], 0
je 0x14001b279
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001b280
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x66
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov qword [rbp + 0x70], 0x83
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov eax, dword [rbp + 0xa4]
shr eax, 6
mov eax, eax
and eax, 0x3f
mov rdx, rax
mov rax, qword [rbp + 0xc0]
add rax, rdx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xc8]
add rdx, rcx
add rdx, 0x10
mov byte [rdx], al
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001b301
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x58]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001b31a
call sym.raiseOverflow
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0xc8], rax
cmp qword [rbp + 0xb0], 0
je 0x14001b33e
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
mov rdx, rax
jmp 0x14001b343
mov edx, 0
mov rax, qword [rbp + 0xc8]
cmp rax, rdx
jb 0x14001b37f
cmp qword [rbp + 0xb0], 0
je 0x14001b369
mov rax, qword [rbp + 0xb0]
mov rax, qword [rax]
lea rdx, [rax - 1]
jmp 0x14001b370
mov rdx, 0xffffffffffffffff
mov rax, qword [rbp + 0xc8]
mov rcx, rax
call sym.raiseIndexError2
mov qword [rbp + 0x70], 0x84
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xc8]
add rax, rdx
add rax, 0x10
mov byte [rax], 0x3d
mov edx, 0
mov rax, qword [rbp + 0xc8]
add rax, 1
jno 0x14001b3c1
mov edx, 1
mov rcx, rax
lea rax, [rbp - 0x60]
mov qword [rax], rcx
mov rax, rdx
and eax, 1
test al, al
je 0x14001b3da
call sym.raiseOverflow
mov rax, qword [rbp - 0x60]
mov qword [rbp + 0xc8], rax
jmp 0x14001b3e8
nop
mov qword [rbp + 0x70], 0x86
lea rax, str.D:Tool_nim_1.4.8libpure_base64.nim
mov qword [rbp + 0x78], rax
cmp qword [rbp + 0xc8], 0
jns 0x14001b423
mov rax, qword [rbp + 0xc8]
movabs r8, 0x7fffffffffffffff
mov edx, 0
mov rcx, rax
call sym.raiseRangeErrorI
mov rdx, qword [rbp + 0xc8]
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sym.setLengthStr
mov qword [rbp + 0xb0], rax
call sym.popFrame_5
mov rax, qword [rbp + 0xb0]
add rsp, 0x150
pop rbp
ret