Function at 0x14003b010
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
mov r13, qword [rdx]
mov rbp, qword [rdx + 8]
mov qword [rsp + 0xb0], 0
mov r14, rcx
mov qword [rsp + 0xb8], 0
test r13, r13
je 0x14003b0e9
imul rax, r13, 3
jo 0x14003b663
test rax, rax
lea r12, [rax + 3]
cmovns r12, rax
sar r12, 2
add r12, 6
mov rcx, qword [0x140074c10]
call sym.__emutls_get_address
cmp byte [rax], 0
mov rdi, rax
jne 0x14003b0e9
test r12, r12
js 0x14003b370
lea r15, [rsp + 0xb0]
mov rdx, r12
mov rsi, r13
mov rcx, r15
call sym.setLengthStrV2
movabs rdx, 0x2000000100002400
test rsi, rsi
jle 0x14003b11e
nop dword [rax]
lea rcx, [rsi - 1]
cmp rcx, r13
jge 0x14003b0e0
movzx eax, byte [rbp + rcx + 8]
cmp al, 0x3d
jbe 0x14003b110
lea rax, [rsi - 4]
mov qword [rsp + 0x30], rax
jmp 0x14003b130
mov ecx, 1
shl rcx, 0x3f
nop word cs:[rax + rax]
lea rdx, [r13 - 1]
call sym.raiseIndexError2
movdqu xmm0, xmmword [rsp + 0xb0]
mov rax, r14
movups xmmword [r14], xmm0
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
bt rdx, rax
jae 0x14003b0c2
mov rsi, rcx
test rsi, rsi
jg 0x14003b0b0
mov rax, rsi
sub rax, 4
mov qword [rsp + 0x30], rax
jo 0x14003b360
mov qword [rsp + 0x38], 0
xor ebx, ebx
movabs r12, 0x100002400
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], r15
mov r15, rbp
cmp rbx, qword [rsp + 0x30]
jg 0x14003beff
nop dword [rax]
cmp r13, rbx
jle 0x14003b3b3
movzx eax, byte [r15 + rbx + 8]
cmp al, 0x20
jbe 0x14003b390
lea rsi, [0x14006f000]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x70], al
cmp al, 0xff
je 0x14003b3c4
add rbx, 1
mov rcx, rbx
jo 0x14003b360
test rbx, rbx
js 0x14003b0cd
cmp rbx, r13
jge 0x14003b0e0
movzx eax, byte [rbx + r15 + 8]
lea rsi, [0x14006f000]
movzx eax, byte [rsi + rax]
mov qword [rsp + 0x60], rax
cmp rax, 0xff
je 0x14003b950
lea rsi, [rbx + 1]
cmp r13, rsi
jle 0x14003c00d
movzx eax, byte [rsi + r15 + 8]
lea rdx, [0x14006f000]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x68], rax
cmp rax, 0xff
je 0x14003b670
lea rsi, [rbx + 2]
cmp r13, rsi
jle 0x14003c00d
movzx eax, byte [rsi + r15 + 8]
lea rdx, [0x14006f000]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x78], al
cmp al, 0xff
je 0x14003bc20
add rbx, 3
cmp qword [rsp + 0x38], 0
mov rax, qword [rsp + 0xb0]
js 0x14003c21e
cmp qword [rsp + 0x38], rax
jge 0x14003c21e
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14003b270
test byte [rax + 7], 0x40
je 0x14003b270
mov rcx, qword [rsp + 0x40]
call sym.nimPrepareStrMutationImpl__system_u2414
mov rax, qword [rsp + 0xb8]
movzx edx, byte [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x38]
sar rcx, 4
shl edx, 2
or edx, ecx
mov byte [rax + rsi + 8], dl
add rsi, 1
mov rcx, rsi
jo 0x14003b360
mov rax, qword [rsp + 0xb0]
test rsi, rsi
js 0x14003c17e
cmp rsi, rax
jge 0x14003c187
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14003b2d8
test byte [rax + 7], 0x40
je 0x14003b2d8
mov rcx, qword [rsp + 0x40]
call sym.nimPrepareStrMutationImpl__system_u2414
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
shl rdx, 4
sar rcx, 2
or edx, ecx
mov byte [rax + rsi + 8], dl
add rsi, 1
mov rcx, rsi
jo 0x14003b360
mov rax, qword [rsp + 0xb0]
test rsi, rsi
js 0x14003c17e
cmp rsi, rax
jge 0x14003c187
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x14003b338
test byte [rax + 7], 0x40
je 0x14003b338
mov rcx, qword [rsp + 0x40]
call sym.nimPrepareStrMutationImpl__system_u2414
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x68]
shl rdx, 6
or dl, byte [rsp + 0x78]
mov byte [rax + rsi + 8], dl
add rsi, 1
mov qword [rsp + 0x38], rsi
jno 0x14003b152
nop dword [rax + rax]
call sym.raiseOverflow
jmp 0x14003b0e9
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call sym.raiseRangeErrorI
jmp 0x14003b0e9
bt r12, rax
jae 0x14003b177
add rbx, 1
jo 0x14003b360
test rbx, rbx
jns 0x14003b160
movabs rbx, 0x8000000000000000
lea rdx, [r13 - 1]
mov rcx, rbx
call sym.raiseIndexError2
jmp 0x14003b0e9
mov edx, 8
mov ecx, 0x40
call sym.nimNewObj
mov rsi, rax
mov qword [rsp + 0x80], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
lea rsi, [rsp + 0xa0]
movzx edx, byte [r15 + rbx + 8]
mov rcx, rsi
call sym.dollar___systemZdollars_u8
mov rbp, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x50], rax
jne 0x14003c3f3
mov rdx, rbx
mov rcx, rsi
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x60], rdx
jne 0x14003b62a
lea rdx, [rbp + rax + 0x38]
mov rcx, rsi
call sym.rawNewString
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
movabs r10, 0x2064696c61766e49
movabs r11, 0x6620343665736162
lea rax, [rdx + rsi + 8]
mov qword [rax], r10
movabs r10, 0x68632074616d726f
mov qword [rax + 8], r11
movabs r11, 0x2072657463617261
mov qword [rax + 0x10], r10
mov r10d, 0x60
mov qword [rax + 0x18], r11
mov word [rax + 0x20], r10w
mov rax, rdx
add rax, 0x21
mov rbp, rax
jo 0x14003c207
movzx edx, byte [r15 + rbx + 8]
mov rcx, rbp
add rcx, 1
mov byte [rsi + rbp + 8], dl
mov rdx, rcx
jo 0x14003c1d3
mov byte [rcx + rsi + 8], 0
movabs rax, 0x2064726f282060
mov qword [rdx + rsi + 8], rax
mov rax, rdx
add rax, 7
mov qword [rsp + 0x58], rax
jo 0x14003c3a7
mov rax, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x58]
test rax, rax
jle 0x14003b557
add rax, 1
mov r8, rax
jo 0x14003c4d9
test rax, rax
js 0x14003c2d1
mov rax, qword [rsp + 0x50]
lea rcx, [rbp + rsi + 8]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x68]
add rax, rbp
mov rbp, rax
jo 0x14003c404
movabs rdx, 0x636f6c2074612029
lea rax, [rbp + rsi + 8]
mov qword [rax], rdx
mov edx, 0x206e
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], dx
mov byte [rax + 0xe], 0
mov rax, rbp
add rax, 0xe
mov qword [rsp + 0x58], rax
jo 0x14003c3d5
mov rax, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x58]
test rax, rax
jle 0x14003b5d8
add rax, 1
mov r8, rax
jo 0x14003c4a7
test rax, rax
js 0x14003c3b6
mov rax, qword [rsp + 0x60]
lea rcx, [rbp + rsi + 8]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x78]
add rax, rbp
mov rbp, rax
jo 0x14003c3e4
mov rax, rbp
mov ecx, 0x2e
add rax, 1
mov word [rbp + rsi + 8], cx
jo 0x14003c1fa
mov rcx, qword [rsp + 0x80]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rsi
mov qword [rcx + 8], 0
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14003b63e
test byte [rax + 7], 0x40
je 0x14003c1e0
cmp qword [rsp + 0x50], 0
je 0x14003b655
mov rax, qword [rsp + 0x50]
test byte [rax + 7], 0x40
je 0x14003c1ed
cmp byte [rdi], 0
je 0x14003b18e
jmp 0x14003b0e9
call sym.raiseOverflow
jmp 0x14003b06b
mov edx, 8
mov ecx, 0x40
lea rbp, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, rbp
mov rdx, rax
mov qword [rsp + 0x90], rax
mov rax, qword [0x140074ae0]
mov qword [rdx], rax
lea rax, str.ValueError
mov qword [rdx + 0x10], rax
movzx edx, byte [r15 + rsi + 8]
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], rdx
jne 0x14003c31c
mov rdx, rsi
mov rcx, rbp
call sym.dollar___systemZdollars_u8
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rcx
jne 0x14003b90d
mov rax, qword [rsp + 0x78]
mov rcx, rbp
lea rdx, [rax + rdx + 0x38]
call sym.rawNewString
mov rdx, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
movabs r10, 0x2064696c61766e49
movabs r11, 0x6620343665736162
mov r8d, 0x60
movabs r9, 0x68632074616d726f
lea rax, [rdx + rbp + 8]
mov qword [rax], r10
movabs r10, 0x2072657463617261
mov qword [rax + 8], r11
mov qword [rax + 0x10], r9
mov qword [rax + 0x18], r10
mov word [rax + 0x20], r8w
mov rax, rdx
add rax, 0x21
jo 0x14003c344
movzx edx, byte [r15 + rsi + 8]
mov rcx, rax
add rcx, 1
mov byte [rbp + rax + 8], dl
mov rsi, rcx
jo 0x14003c32d
mov byte [rcx + rbp + 8], 0
movabs rax, 0x2064726f282060
mov qword [rsi + rbp + 8], rax
mov rax, rsi
add rax, 7
mov qword [rsp + 0x50], rax
jo 0x14003c36a
mov rax, qword [rsp + 0x50]
lea rsi, [rax + 8]
mov rax, qword [rsp + 0x78]
test rax, rax
jle 0x14003b817
add rax, 1
mov r8, rax
jo 0x14003c4bb
test rax, rax
js 0x14003c2f0
mov rax, qword [rsp + 0x58]
lea rcx, [rbp + rsi]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x78]
add rax, qword [rsp + 0x50]
jo 0x14003c4bb
mov qword [rsp + 0x50], rax
lea rsi, [rax + 8]
lea rax, [rbp + rsi]
mov rsi, qword [rsp + 0x50]
movabs rdx, 0x636f6c2074612029
mov r10d, 0x206e
mov qword [rax], rdx
add rsi, 0xe
mov dword [rax + 8], 0x6f697461
mov word [rax + 0xc], r10w
mov byte [rax + 0xe], 0
jo 0x14003c35b
lea rax, [rsi + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x88]
test rax, rax
jle 0x14003b8b1
add rax, 1
mov r8, rax
jo 0x14003c4c5
test rax, rax
js 0x14003c379
lea rax, [rsi + 8]
lea rcx, [rbp + rax]
mov rax, qword [rsp + 0x80]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x88]
add rax, rsi
jo 0x14003c4c5
mov rsi, rax
lea rax, [rax + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov r11d, 0x2e
mov word [rbp + rax], r11w
mov rax, rsi
add rax, 1
jo 0x14003c30f
mov rsi, qword [rsp + 0x90]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rsi + 0x18], rax
mov rcx, rsi
mov qword [rsi + 0x20], rbp
mov qword [rsi + 8], 0
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x80]
test rax, rax
je 0x14003b924
test byte [rax + 7], 0x40
je 0x14003c157
cmp qword [rsp + 0x58], 0
je 0x14003b93b
mov rax, qword [rsp + 0x58]
test byte [rax + 7], 0x40
je 0x14003c164
cmp byte [rdi], 0
je 0x14003b1fe
jmp 0x14003b0e9
mov edx, 8
mov ecx, 0x40
lea rbp, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, rbp
mov rsi, rax
mov qword [rsp + 0x88], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
movzx edx, byte [r15 + rbx + 8]
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
jne 0x14003c264
mov rdx, rbx
mov rcx, rbp
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x68], rdx
jne 0x14003bbe3
lea rdx, [rsi + rax + 0x38]
mov rcx, rbp
call sym.rawNewString
mov rdx, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0xa8]
movabs r10, 0x2064696c61766e49
movabs r11, 0x6620343665736162
mov r9d, 0x60
lea rax, [rdx + rbp + 8]
mov qword [rax], r10
movabs r10, 0x68632074616d726f
mov qword [rax + 8], r11
movabs r11, 0x2072657463617261
mov qword [rax + 0x10], r10
mov qword [rax + 0x18], r11
mov word [rax + 0x20], r9w
mov rax, rdx
add rax, 0x21
jo 0x14003c240
movzx edx, byte [r15 + rbx + 8]
mov rcx, rax
add rcx, 1
mov byte [rbp + rax + 8], dl
mov rdx, rcx
jo 0x14003c195
mov byte [rcx + rbp + 8], 0
movabs rax, 0x2064726f282060
mov qword [rdx + rbp + 8], rax
mov rax, rdx
add rax, 7
mov qword [rsp + 0x50], rax
jo 0x14003c231
mov rax, qword [rsp + 0x50]
add rax, 8
mov qword [rsp + 0x78], rax
test rsi, rsi
jle 0x14003baed
mov r8, rsi
add r8, 1
jo 0x14003ce48
test r8, r8
js 0x14003c275
lea rcx, [rbp + rax]
mov rax, qword [rsp + 0x58]
lea rdx, [rax + 8]
call sym.memcpy
add rsi, qword [rsp + 0x50]
jo 0x14003ce48
mov rax, rsi
mov qword [rsp + 0x50], rsi
add rax, 8
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov r8d, 0x206e
movabs rsi, 0x636f6c2074612029
add rax, rbp
mov qword [rax], rsi
mov rsi, qword [rsp + 0x50]
mov dword [rax + 8], 0x6f697461
add rsi, 0xe
mov word [rax + 0xc], r8w
mov byte [rax + 0xe], 0
jo 0x14003c398
lea rax, [rsi + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x80]
test rax, rax
jle 0x14003bb87
add rax, 1
mov r8, rax
jo 0x14003c4b1
test rax, rax
js 0x14003c413
lea rax, [rsi + 8]
lea rcx, [rbp + rax]
mov rax, qword [rsp + 0x68]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x80]
add rax, rsi
jo 0x14003c4b1
mov rsi, rax
lea rax, [rax + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov r9d, 0x2e
mov word [rbp + rax], r9w
mov rax, rsi
add rax, 1
jo 0x14003c257
mov rsi, qword [rsp + 0x88]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rsi + 0x18], rax
mov rcx, rsi
mov qword [rsi + 0x20], rbp
mov qword [rsi + 8], 0
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14003bbf7
test byte [rax + 7], 0x40
je 0x14003c1ac
cmp qword [rsp + 0x58], 0
je 0x14003bc0e
mov rax, qword [rsp + 0x58]
test byte [rax + 7], 0x40
je 0x14003c171
cmp byte [rdi], 0
je 0x14003b1cf
jmp 0x14003b0e9
mov edx, 8
mov ecx, 0x40
lea rbp, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, rbp
mov rdx, rax
mov qword [rsp + 0x98], rax
mov rax, qword [0x140074ae0]
mov qword [rdx], rax
lea rax, str.ValueError
mov qword [rdx + 0x10], rax
movzx edx, byte [r15 + rsi + 8]
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x58], rdx
jne 0x14003c2b3
mov rdx, rsi
mov rcx, rbp
call sym.dollar___systemZdollars_u8
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x88], rcx
jne 0x14003bec3
mov rax, qword [rsp + 0x80]
mov rcx, rbp
lea rdx, [rax + rdx + 0x38]
call sym.rawNewString
mov rdx, qword [rsp + 0xa0]
mov ecx, 0x60
mov rbp, qword [rsp + 0xa8]
movabs r9, 0x2064696c61766e49
movabs r10, 0x6620343665736162
lea rax, [rdx + rbp + 8]
mov qword [rax], r9
movabs r9, 0x68632074616d726f
mov qword [rax + 8], r10
movabs r10, 0x2072657463617261
mov qword [rax + 0x10], r9
mov qword [rax + 0x18], r10
mov word [rax + 0x20], cx
mov rax, rdx
add rax, 0x21
jo 0x14003c467
movzx edx, byte [r15 + rsi + 8]
mov rcx, rax
add rcx, 1
mov byte [rbp + rax + 8], dl
mov rsi, rcx
jo 0x14003c450
mov byte [rcx + rbp + 8], 0
movabs rax, 0x2064726f282060
mov qword [rsi + rbp + 8], rax
mov rax, rsi
add rax, 7
mov qword [rsp + 0x50], rax
jo 0x14003c441
mov rax, qword [rsp + 0x50]
lea rsi, [rax + 8]
mov rax, qword [rsp + 0x80]
test rax, rax
jle 0x14003bdd1
add rax, 1
mov r8, rax
jo 0x14003c4cf
test rax, rax
js 0x14003c294
mov rax, qword [rsp + 0x58]
lea rcx, [rbp + rsi]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x80]
add rax, qword [rsp + 0x50]
jo 0x14003c4cf
mov qword [rsp + 0x50], rax
lea rsi, [rax + 8]
movabs rdx, 0x636f6c2074612029
lea rax, [rbp + rsi]
mov esi, 0x206e
mov word [rax + 0xc], si
mov rsi, qword [rsp + 0x50]
mov qword [rax], rdx
add rsi, 0xe
mov dword [rax + 8], 0x6f697461
mov byte [rax + 0xe], 0
jo 0x14003c432
lea rax, [rsi + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x90]
test rax, rax
jle 0x14003be69
add rax, 1
mov r8, rax
jo 0x14003c49d
test rax, rax
js 0x14003c47e
lea rax, [rsi + 8]
lea rcx, [rbp + rax]
mov rax, qword [rsp + 0x88]
lea rdx, [rax + 8]
call sym.memcpy
mov rax, qword [rsp + 0x90]
add rax, rsi
jo 0x14003c49d
mov rsi, rax
lea rax, [rax + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov edx, 0x2e
mov word [rbp + rax], dx
mov rax, rsi
add rax, 1
jo 0x14003c2c4
mov rsi, qword [rsp + 0x98]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rsi + 0x18], rax
mov rcx, rsi
mov qword [rsi + 0x20], rbp
mov qword [rsi + 8], 0
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14003beda
test byte [rax + 7], 0x40
je 0x14003c1b9
cmp qword [rsp + 0x58], 0
je 0x14003bef1
mov rax, qword [rsp + 0x58]
test byte [rax + 7], 0x40
je 0x14003c1c6
cmp byte [rdi], 0
je 0x14003b228
jmp 0x14003b0e9
mov rsi, qword [rsp + 0x48]
mov rax, rbx
mov rbp, r15
mov r15, qword [rsp + 0x40]
sub rax, rsi
jo 0x14003b360
cqo
shr rdx, 0x3e
add rax, rdx
and eax, 3
sub rax, rdx
cqo
xor rax, rdx
sub rax, rdx
cmp rax, 2
jne 0x14003c021
cmp rbx, r13
jge 0x14003b3b3
lea rax, [0x14006f000]
mov rsi, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rbx + rbp + 8]
movzx eax, byte [rsi + rax]
mov byte [rsp + 0x50], al
add al, 1
je 0x14003c4e3
add rbx, 1
cmp r13, rbx
jle 0x14003b3b3
mov rdx, qword [rsp + 0x40]
movzx eax, byte [rbx + rbp + 8]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x40], rax
cmp rax, 0xff
je 0x14003cc02
cmp qword [rsp + 0x38], 0
mov rax, qword [rsp + 0xb0]
js 0x14003c21e
cmp qword [rsp + 0x38], rax
jge 0x14003c21e
mov rcx, r15
call sym.nimPrepareStrMutationV2
movzx eax, byte [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rsp + 0xb8]
shl eax, 2
sar rbx, 4
or eax, ebx
mov byte [rdx + rdi + 8], al
mov rax, rdi
add rax, 1
jo 0x14003b360
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
js 0x14003cbe7
mov rdx, qword [rsp + 0x38]
mov rcx, r15
call sym.setLengthStrV2
jmp 0x14003b0e9
mov r8, rsi
lea rdx, [r13 - 1]
mov rcx, r8
call sym.raiseIndexError2
jmp 0x14003b0e9
cmp rax, 3
jne 0x14003bfef
cmp rbx, r13
jge 0x14003b3b3
lea rax, [0x14006f000]
mov rdx, rax
mov qword [rsp + 0x40], rax
movzx eax, byte [rbx + rbp + 8]
movzx eax, byte [rdx + rax]
mov byte [rsp + 0x58], al
add al, 1
je 0x14003ce5c
lea r8, [rbx + 1]
cmp r13, r8
jle 0x14003c010
movzx eax, byte [r8 + rbp + 8]
mov rdx, qword [rsp + 0x40]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x50], rax
cmp rax, 0xff
je 0x14003c98a
add rbx, 2
cmp r13, rbx
jle 0x14003b3b3
mov rdx, qword [rsp + 0x40]
movzx eax, byte [rbx + rbp + 8]
movzx eax, byte [rdx + rax]
mov qword [rsp + 0x40], rax
cmp rax, 0xff
je 0x14003c744
cmp qword [rsp + 0x38], 0
mov rax, qword [rsp + 0xb0]
js 0x14003c21e
cmp qword [rsp + 0x38], rax
jge 0x14003c21e
mov rcx, r15
call sym.nimPrepareStrMutationV2
movzx eax, byte [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
sar rdx, 4
shl eax, 2
or eax, edx
mov rdx, qword [rsp + 0xb8]
mov byte [rdx + rdi + 8], al
add rdi, 1
mov r12, rdi
jo 0x14003b360
mov rax, qword [rsp + 0xb0]
test rdi, rdi
js 0x14003c733
cmp rdi, rax
jge 0x14003c733
mov rcx, r15
call sym.nimPrepareStrMutationV2
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
shl rax, 4
sar rdx, 2
or eax, edx
mov rdx, qword [rsp + 0xb8]
add r12, 1
mov byte [rdx + rdi + 8], al
jo 0x14003b360
mov qword [rsp + 0x38], r12
jmp 0x14003bfef
mov rcx, rax
call sym.deallocShared
jmp 0x14003b924
mov rcx, rax
call sym.deallocShared
jmp 0x14003b93b
mov rcx, rax
call sym.deallocShared
jmp 0x14003bc0e
mov ecx, 1
shl rcx, 0x3f
lea rdx, [rax - 1]
call sym.raiseIndexError2
jmp 0x14003b0e9
mov qword [rsp + 0x50], rax
call sym.raiseOverflow
mov rax, qword [rsp + 0x50]
mov rdx, rax
jmp 0x14003ba74
mov rcx, rax
call sym.deallocShared
jmp 0x14003bbf7
mov rcx, rax
call sym.deallocShared
jmp 0x14003beda
mov rcx, rax
call sym.deallocShared
jmp 0x14003bef1
call sym.raiseOverflow
mov rdx, rbp
jmp 0x14003b4ed
mov rcx, rax
call sym.deallocShared
jmp 0x14003b63e
mov rcx, rax
call sym.deallocShared
jmp 0x14003b655
call sym.raiseOverflow
mov rax, rbp
jmp 0x14003b5ef
mov qword [rsp + 0x58], rdx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x58]
mov rbp, rdx
jmp 0x14003b4ce
mov rcx, qword [rsp + 0x38]
lea rdx, [rax - 1]
call sym.raiseIndexError2
jmp 0x14003b0e9
mov qword [rsp + 0x50], rdx
call sym.raiseOverflow
jmp 0x14003ba95
mov qword [rsp + 0x50], rdx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x50]
mov rax, rdx
jmp 0x14003ba55
call sym.raiseOverflow
mov rax, rsi
jmp 0x14003bba5
cmp qword [rsp + 0x58], 0
jne 0x14003bbff
jmp 0x14003b0e9
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003baed
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003bdd1
cmp qword [rsp + 0x58], 0
jne 0x14003bee2
jmp 0x14003b0e9
call sym.raiseOverflow
mov rax, rsi
jmp 0x14003be85
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003b557
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003b817
call sym.raiseOverflow
mov rax, rsi
jmp 0x14003b8cf
cmp qword [rsp + 0x58], 0
jne 0x14003b92c
jmp 0x14003b0e9
mov qword [rsp + 0x50], rax
call sym.raiseOverflow
mov rax, qword [rsp + 0x50]
mov rsi, rax
jmp 0x14003b7a1
mov qword [rsp + 0x50], rdx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x50]
mov rax, rdx
jmp 0x14003b782
call sym.raiseOverflow
mov rsi, qword [rsp + 0x50]
jmp 0x14003b84e
call sym.raiseOverflow
mov qword [rsp + 0x50], rsi
jmp 0x14003b7c2
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003b8b1
call sym.raiseOverflow
mov rsi, qword [rsp + 0x50]
jmp 0x14003bb27
mov qword [rsp + 0x58], rdx
call sym.raiseOverflow
jmp 0x14003b50e
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003b5d8
call sym.raiseOverflow
mov qword [rsp + 0x58], rbp
jmp 0x14003b58f
call sym.raiseOverflow
mov rbp, qword [rsp + 0x58]
jmp 0x14003b5d8
cmp qword [rsp + 0x50], 0
jne 0x14003b646
jmp 0x14003b0e9
call sym.raiseOverflow
mov rbp, qword [rsp + 0x58]
jmp 0x14003b557
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003bb87
call sym.raiseOverflow
mov rsi, qword [rsp + 0x50]
jmp 0x14003be06
call sym.raiseOverflow
mov qword [rsp + 0x50], rsi
jmp 0x14003bd76
mov qword [rsp + 0x50], rax
call sym.raiseOverflow
mov rax, qword [rsp + 0x50]
mov rsi, rax
jmp 0x14003bd55
mov qword [rsp + 0x50], rdx
call sym.raiseOverflow
mov rdx, qword [rsp + 0x50]
mov rax, rdx
jmp 0x14003bd36
mov ecx, 1
xor edx, edx
movabs r8, 0x7fffffffffffffff
shl rcx, 0x3f
call sym.raiseRangeErrorI
jmp 0x14003be69
call sym.raiseOverflow
jmp 0x14003be69
call sym.raiseOverflow
jmp 0x14003b5d8
call sym.raiseOverflow
jmp 0x14003bb87
call sym.raiseOverflow
jmp 0x14003b817
call sym.raiseOverflow
jmp 0x14003b8b1
call sym.raiseOverflow
jmp 0x14003bdd1
call sym.raiseOverflow
jmp 0x14003b557
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, r12
mov rsi, rax
mov qword [rsp + 0x58], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
movzx edx, byte [rbx + rbp + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x30], rax
jne 0x14003c71c
mov rdx, rbx
mov rcx, r12
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x48], rdx
jne 0x14003c6e1
lea rdx, [rsi + rax + 0x38]
mov rcx, r12
lea rsi, [rsp + 0xc0]
call sym.rawNewString
movdqu xmm2, xmmword [0x14006f1f0]
mov rdx, r12
mov rcx, rsi
movdqu xmm1, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xa0], xmm2
movups xmmword [rsp + 0xc0], xmm1
call sym.appendString_1
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rbx + rbp + 8]
mov rdx, qword [rsp + 0xc8]
mov byte [rdx + rax + 8], cl
add rax, 1
jo 0x14003ce52
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov byte [rdx + rax + 8], 0
movdqu xmm3, xmmword [0x14006f1d0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm3
call sym.appendString_1
mov rax, qword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm4, xmmword [0x14006f1a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm4
call sym.appendString_1
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm5, xmmword [0x14006f180]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm5
call sym.appendString_1
mov rax, qword [rsp + 0x58]
movdqu xmm1, xmmword [rsp + 0xc0]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rax + 8], 0
mov rcx, rax
movups xmmword [rax + 0x18], xmm1
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14003c6f1
test byte [rax + 7], 0x40
je 0x14003c729
cmp qword [rsp + 0x30], 0
je 0x14003c704
mov rax, qword [rsp + 0x30]
test byte [rax + 7], 0x40
je 0x14003c712
cmp byte [rdi], 0
je 0x14003bf66
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003c704
cmp qword [rsp + 0x30], 0
jne 0x14003c6f9
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003c6f1
lea rdx, [rax - 1]
mov rcx, r12
call sym.raiseIndexError2
jmp 0x14003b0e9
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, r12
mov rsi, rax
mov qword [rsp + 0x48], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
movzx edx, byte [rbx + rbp + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0xa0]
cmp byte [rdi], 0
mov r13, qword [rsp + 0xa8]
mov qword [rsp + 0x60], rsi
jne 0x14003c976
mov rdx, rbx
mov rcx, r12
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x30], rdx
jne 0x14003c938
lea rdx, [rsi + rax + 0x38]
mov rcx, r12
lea rsi, [rsp + 0xc0]
call sym.rawNewString
movdqu xmm1, xmmword [0x14006f1f0]
mov rdx, r12
mov rcx, rsi
movdqu xmm5, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xa0], xmm1
movups xmmword [rsp + 0xc0], xmm5
call sym.appendString_1
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rbx + rbp + 8]
mov rdx, qword [rsp + 0xc8]
mov byte [rdx + rax + 8], cl
add rax, 1
jo 0x14003c980
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov byte [rdx + rax + 8], 0
movdqu xmm2, xmmword [0x14006f1d0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm2
call sym.appendString_1
mov rax, qword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xa0], rax
call sym.appendString_1
movdqu xmm3, xmmword [0x14006f1a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm3
call sym.appendString_1
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm4, xmmword [0x14006f180]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm4
call sym.appendString_1
mov rax, qword [rsp + 0x48]
movdqu xmm5, xmmword [rsp + 0xc0]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rax + 8], 0
mov rcx, rax
movups xmmword [rax + 0x18], xmm5
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14003c948
test byte [rax + 7], 0x40
je 0x14003c962
test r13, r13
je 0x14003c954
test byte [r13 + 7], 0x40
je 0x14003c96c
cmp byte [rdi], 0
je 0x14003c0a9
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003c948
mov rcx, r13
call sym.deallocShared
jmp 0x14003c954
test r13, r13
jne 0x14003c94d
jmp 0x14003b0e9
call sym.raiseOverflow
jmp 0x14003c862
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0x30], r8
lea r12, [rsp + 0xa0]
call sym.nimNewObj
mov r8, qword [rsp + 0x30]
mov rcx, r12
mov rdx, rax
mov qword [rsp + 0x60], rax
mov rax, qword [0x140074ae0]
mov qword [rsp + 0x48], r8
mov qword [rdx], rax
lea rax, str.ValueError
mov qword [rdx + 0x10], rax
movzx edx, byte [r8 + rbp + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x30], rax
jne 0x14003d0ac
mov r8, qword [rsp + 0x48]
mov rcx, r12
mov rdx, r8
mov qword [rsp + 0x78], r8
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x48], rdx
jne 0x14003cba8
lea rdx, [rsi + rax + 0x38]
mov rcx, r12
lea rsi, [rsp + 0xc0]
call sym.rawNewString
movdqu xmm5, xmmword [0x14006f1f0]
mov rdx, r12
mov rcx, rsi
movdqu xmm4, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xa0], xmm5
movups xmmword [rsp + 0xc0], xmm4
call sym.appendString_1
mov r8, qword [rsp + 0x78]
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
movzx ecx, byte [r8 + rbp + 8]
mov byte [rdx + rax + 8], cl
add rax, 1
jo 0x14003d0ca
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov byte [rdx + rax + 8], 0
movdqu xmm1, xmmword [0x14006f1d0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm1
call sym.appendString_1
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm2, xmmword [0x14006f1a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm2
call sym.appendString_1
mov rax, qword [rsp + 0x70]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm3, xmmword [0x14006f180]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm3
call sym.appendString_1
mov rax, qword [rsp + 0x60]
movdqu xmm4, xmmword [rsp + 0xc0]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rax + 8], 0
mov rcx, rax
movups xmmword [rax + 0x18], xmm4
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14003cbbc
test byte [rax + 7], 0x40
je 0x14003d0bd
cmp qword [rsp + 0x30], 0
je 0x14003cbcf
mov rax, qword [rsp + 0x30]
test byte [rax + 7], 0x40
je 0x14003cbdd
cmp byte [rdi], 0
je 0x14003c07d
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003cbcf
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call sym.raiseRangeErrorI
jmp 0x14003b0e9
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, r12
mov rsi, rax
mov qword [rsp + 0x48], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
movzx edx, byte [rbx + rbp + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0xa0]
cmp byte [rdi], 0
mov r13, qword [rsp + 0xa8]
mov qword [rsp + 0x58], rsi
jne 0x14003ce34
mov rdx, rbx
mov rcx, r12
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], rdx
jne 0x14003cdf6
lea rdx, [rsi + rax + 0x38]
mov rcx, r12
lea rsi, [rsp + 0xc0]
call sym.rawNewString
movdqu xmm3, xmmword [0x14006f1f0]
mov rdx, r12
mov rcx, rsi
movdqu xmm2, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xa0], xmm3
movups xmmword [rsp + 0xc0], xmm2
call sym.appendString_1
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rbx + rbp + 8]
mov rdx, qword [rsp + 0xc8]
mov byte [rdx + rax + 8], cl
add rax, 1
jo 0x14003ce3e
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov byte [rdx + rax + 8], 0
movdqu xmm4, xmmword [0x14006f1d0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm4
call sym.appendString_1
mov rax, qword [rsp + 0x58]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xa0], rax
call sym.appendString_1
movdqu xmm5, xmmword [0x14006f1a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm5
call sym.appendString_1
mov rax, qword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm1, xmmword [0x14006f180]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm1
call sym.appendString_1
mov rax, qword [rsp + 0x48]
movdqu xmm2, xmmword [rsp + 0xc0]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rax + 8], 0
mov rcx, rax
movups xmmword [rax + 0x18], xmm2
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14003ce06
test byte [rax + 7], 0x40
je 0x14003ce20
test r13, r13
je 0x14003ce12
test byte [r13 + 7], 0x40
je 0x14003ce2a
cmp byte [rdi], 0
je 0x14003bf92
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003ce06
mov rcx, r13
call sym.deallocShared
jmp 0x14003ce12
test r13, r13
jne 0x14003ce0b
jmp 0x14003b0e9
call sym.raiseOverflow
jmp 0x14003cd20
call sym.raiseOverflow
jmp 0x14003baed
call sym.raiseOverflow
jmp 0x14003c606
mov edx, 8
mov ecx, 0x40
lea r12, [rsp + 0xa0]
call sym.nimNewObj
mov rcx, r12
mov rsi, rax
mov qword [rsp + 0x50], rax
mov rax, qword [0x140074ae0]
mov qword [rsi], rax
lea rax, str.ValueError
mov qword [rsi + 0x10], rax
movzx edx, byte [rbx + rbp + 8]
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
call sym.dollar___systemZdollars_u8
mov rsi, qword [rsp + 0xa0]
mov rax, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x30], rax
jne 0x14003d095
mov rdx, rbx
mov rcx, r12
call sym.dollar___systemZdollars_u8
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
cmp byte [rdi], 0
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x48], rdx
jne 0x14003d05a
lea rdx, [rsi + rax + 0x38]
mov rcx, r12
lea rsi, [rsp + 0xc0]
call sym.rawNewString
movdqu xmm4, xmmword [0x14006f1f0]
mov rdx, r12
mov rcx, rsi
movdqu xmm3, xmmword [rsp + 0xa0]
movups xmmword [rsp + 0xa0], xmm4
movups xmmword [rsp + 0xc0], xmm3
call sym.appendString_1
mov rax, qword [rsp + 0xc0]
movzx ecx, byte [rbx + rbp + 8]
mov rdx, qword [rsp + 0xc8]
mov byte [rdx + rax + 8], cl
add rax, 1
jo 0x14003d0d4
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rax
mov byte [rdx + rax + 8], 0
movdqu xmm5, xmmword [0x14006f1d0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm5
call sym.appendString_1
mov rax, qword [rsp + 0x60]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm1, xmmword [0x14006f1a0]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm1
call sym.appendString_1
mov rax, qword [rsp + 0x68]
mov rdx, r12
mov rcx, rsi
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0xa8], rax
call sym.appendString_1
movdqu xmm2, xmmword [0x14006f180]
mov rdx, r12
mov rcx, rsi
movups xmmword [rsp + 0xa0], xmm2
call sym.appendString_1
mov rax, qword [rsp + 0x50]
movdqu xmm3, xmmword [rsp + 0xc0]
lea r9, str.base64.nim
lea r8, str.decode
lea rdx, str.ValueError
mov qword [rax + 8], 0
mov rcx, rax
movups xmmword [rax + 0x18], xmm3
mov qword [rsp + 0x20], 0xe6
call sym.raiseExceptionEx
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x14003d06a
test byte [rax + 7], 0x40
je 0x14003d0a2
cmp qword [rsp + 0x30], 0
je 0x14003d07d
mov rax, qword [rsp + 0x30]
test byte [rax + 7], 0x40
je 0x14003d08b
cmp byte [rdi], 0
je 0x14003c054
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003d07d
cmp qword [rsp + 0x30], 0
jne 0x14003d072
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003d06a
cmp qword [rsp + 0x30], 0
jne 0x14003cbc4
jmp 0x14003b0e9
mov rcx, rax
call sym.deallocShared
jmp 0x14003cbbc
call sym.raiseOverflow
jmp 0x14003cacd
call sym.raiseOverflow
jmp 0x14003cf7f