Function at 0x1400182aa
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 r14, qword [rdx + 8]
xor edx, edx
test r13, r13
mov qword [rsp + 0x120], rcx
mov qword [rcx], rdx
mov qword [rcx + 8], rdx
je 0x14001a36c
mov rcx, r13
call fcn.140018283
test rax, rax
mov rbx, rax
jns 0x140018302
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.140005dce
mov rcx, qword [rsp + 0x120]
mov rdx, rbx
movabs rbp, 0x2000000100002400
lea rdi, [r13 - 1]
call fcn.1400066e1
mov qword [rsp + 0x40], r13
mov rbx, qword [rsp + 0x40]
xor esi, esi
sub rbx, 1
jno 0x14001833c
mov esi, 1
call fcn.140005648
cmp rbx, r13
jge 0x140018346
test rbx, rbx
jns 0x140018351
mov rdx, rdi
mov rcx, rbx
call fcn.140006c7e
mov al, byte [r14 + rbx + 8]
cmp al, 0x3d
ja 0x140018360
bt rbp, rax
jb 0x14001837a
mov rax, qword [rsp + 0x40]
sub rax, 4
mov qword [rsp + 0x98], rax
jno 0x14001838d
call fcn.140005648
jmp 0x14001838d
test rsi, rsi
jne 0x140018386
mov qword [rsp + 0x40], rbx
jmp 0x140018325
call fcn.140005648
jmp 0x14001837f
xor eax, eax
xor r15d, r15d
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x98], r15
jl 0x1400183a7
lea rsi, [r13 - 1]
jmp 0x1400183e8
mov rbx, r15
sub rbx, qword [rsp + 0x40]
jno 0x140019038
call fcn.140005648
jmp 0x140019038
mov al, byte [r14 + r15 + 8]
cmp al, 0x20
ja 0x140018406
mov edi, 0x400009
shl rdi, 0xa
bt rdi, rax
jae 0x140018406
mov rax, r15
add rax, 1
mov r15, rax
jno 0x1400183e8
call fcn.140005648
mov rax, r15
shr rax, 0x3f
cmp r15, r13
setge bl
or bl, al
je 0x1400183bf
mov rdx, rsi
mov rcx, r15
call fcn.140006c7e
jmp 0x1400183bf
test bl, bl
je 0x140018416
lea rdx, [r13 - 1]
mov rcx, r15
call fcn.140006c7e
movzx eax, byte [r15 + r14 + 8]
lea rdx, [0x14003d780]
mov al, byte [rdx + rax]
mov byte [rsp + 0x48], al
inc al
jne 0x14001869c
xor eax, eax
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], rax
call fcn.1400068a4
mov rdi, rax
mov rax, qword [0x140043dc0]
mov qword [rdi], rax
lea rax, [0x1400406e0]
mov qword [rdi + 0x10], rax
xor eax, eax
test bl, bl
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
jne 0x14001847d
jmp 0x14001849f
lea rbx, [r13 - 1]
mov rcx, r15
mov rdx, rbx
call fcn.140006c7e
jmp 0x140018490
mov rdx, rbx
mov rcx, r15
call fcn.140006c7e
jmp 0x14001849f
movzx edx, byte [r14 + r15 + 8]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002250
mov r12, qword [rsp + 0xa8]
mov rdx, r15
mov rcx, rbx
mov rbp, qword [rsp + 0xa0]
mov rsi, r12
call fcn.140002250
jmp 0x1400184de
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x68], rax
mov rbx, rax
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x50]
lea rdx, [rbp + rax + 0x38]
call fcn.140006626
mov rcx, qword [rsp + 0x50]
lea rdx, [rsp + 0xa0]
movaps xmm0, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
movzx edx, byte [r14 + r15 + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x50], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0xa0]
movaps xmm1, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x58], rax
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0xa8], r12
lea r12, [rsp + 0xc0]
mov rcx, r12
mov qword [rsp + 0xa0], rbp
call fcn.140017a5a
movaps xmm2, xmmword [0x140040720]
lea rbp, [rsp + 0xa0]
mov rcx, r12
mov rdx, rbp
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
mov rax, qword [rsp + 0x60]
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
movaps xmm3, xmmword [0x140040700]
mov rdx, rbp
mov rcx, r12
movaps xmmword [rsp + 0xa0], xmm3
call fcn.140017a5a
movaps xmm4, xmmword [rsp + 0xc0]
xor r12d, r12d
mov rcx, rdi
mov qword [rdi + 8], r12
lea r9, str.base64.nim
movups xmmword [rdi + 0x18], xmm4
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rbx, rbx
jne 0x14001864c
test rsi, rsi
jne 0x14001865c
jmp 0x14001866a
test byte [rbx + 7], 0x40
jne 0x140018645
mov rcx, rbx
call fcn.140005570
jmp 0x140018645
test byte [rsi + 7], 0x40
jne 0x14001866a
mov rcx, rsi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x14001868f
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
mov rbx, r15
add rbx, 1
jno 0x1400186aa
call fcn.140005648
cmp rbx, r13
mov rax, rbx
setge sil
shr rax, 0x3f
or sil, al
je 0x1400186c9
lea rdx, [r13 - 1]
mov rcx, rbx
call fcn.140006c7e
movzx eax, byte [rbx + r14 + 8]
lea rdx, [0x14003d780]
movzx eax, byte [rdx + rax]
cmp rax, 0xff
mov byte [rsp + 0x50], al
mov qword [rsp + 0x68], rax
jne 0x140018963
xor ebp, ebp
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], rbp
call fcn.1400068a4
mov rbp, rax
mov rax, qword [0x140043dc0]
xor edi, edi
test sil, sil
mov qword [rsp + 0xc0], rdi
mov qword [rsp + 0xc8], rdi
mov qword [rbp], rax
lea rax, [0x1400406e0]
mov qword [rbp + 0x10], rax
jne 0x14001873c
jmp 0x14001875e
lea rsi, [r13 - 1]
mov rcx, rbx
mov rdx, rsi
call fcn.140006c7e
jmp 0x14001874f
mov rdx, rsi
mov rcx, rbx
call fcn.140006c7e
jmp 0x14001875e
movzx edx, byte [r14 + rbx + 8]
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, rbx
mov rcx, rsi
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
mov rdi, rax
call fcn.140002250
jmp 0x1400187a2
mov rax, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rax
mov rsi, rax
lea rax, [rsp + 0xc0]
lea rdx, [r12 + r15 + 0x38]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.140006626
mov rcx, qword [rsp + 0x58]
lea rdx, [rsp + 0xa0]
movaps xmm5, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
movzx edx, byte [r14 + rbx + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0xa0]
movaps xmm0, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa0], r12
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x58], rax
call fcn.140017a5a
mov rcx, qword [rsp + 0x58]
lea r12, [rsp + 0xa0]
movaps xmm1, xmmword [0x140040720]
mov rdx, r12
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xa0], r15
mov rdx, r12
lea r15, [rsp + 0xc0]
mov rcx, r15
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
movaps xmm2, xmmword [0x140040700]
mov rdx, r12
mov rcx, r15
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
movaps xmm3, xmmword [rsp + 0xc0]
xor r11d, r11d
mov rcx, rbp
mov qword [rbp + 8], r11
lea r9, str.base64.nim
movups xmmword [rbp + 0x18], xmm3
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rsi, rsi
jne 0x140018913
test rdi, rdi
jne 0x140018923
jmp 0x140018931
test byte [rsi + 7], 0x40
jne 0x14001890c
mov rcx, rsi
call fcn.140005570
jmp 0x14001890c
test byte [rdi + 7], 0x40
jne 0x140018931
mov rcx, rdi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140018956
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
mov rdi, rbx
add rdi, 1
jno 0x140018971
call fcn.140005648
cmp rdi, r13
mov rax, rdi
setge bl
shr rax, 0x3f
or bl, al
je 0x14001898e
lea rdx, [r13 - 1]
mov rcx, rdi
call fcn.140006c7e
movzx eax, byte [rdi + r14 + 8]
lea rdx, [0x14003d780]
movzx eax, byte [rdx + rax]
cmp rax, 0xff
mov byte [rsp + 0x58], al
mov qword [rsp + 0x70], rax
jne 0x140018c38
xor r10d, r10d
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], r10
call fcn.1400068a4
mov r12, rax
mov rax, qword [0x140043dc0]
xor r9d, r9d
test bl, bl
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xc8], r9
mov qword [r12], rax
lea rax, [0x1400406e0]
mov qword [r12 + 0x10], rax
jne 0x140018a03
jmp 0x140018a25
lea rbx, [r13 - 1]
mov rcx, rdi
mov rdx, rbx
call fcn.140006c7e
jmp 0x140018a16
mov rdx, rbx
mov rcx, rdi
call fcn.140006c7e
jmp 0x140018a25
movzx edx, byte [r14 + rdi + 8]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, rdi
mov rcx, rbx
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov r15, rax
call fcn.140002250
jmp 0x140018a6d
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov rbx, rax
lea rax, [rsp + 0xc0]
lea rdx, [rbp + rsi + 0x38]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140006626
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0xa0]
movaps xmm4, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm4
call fcn.140017a5a
movzx edx, byte [r14 + rdi + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x60]
lea rax, [rsp + 0xa0]
movaps xmm5, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x78], rax
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xc0]
mov rdx, qword [rsp + 0x78]
mov rcx, rbp
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
lea rax, [rsp + 0xa0]
movaps xmm0, xmmword [0x140040720]
mov rcx, rbp
mov rdx, rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
mov rdx, qword [rsp + 0x60]
mov rcx, rbp
mov qword [rsp + 0xa0], rsi
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
movaps xmm1, xmmword [0x140040700]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
movaps xmm2, xmmword [rsp + 0xc0]
xor r8d, r8d
mov rcx, r12
mov qword [r12 + 8], r8
lea r9, str.base64.nim
movups xmmword [r12 + 0x18], xmm2
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rbx, rbx
jne 0x140018be7
test r15, r15
jne 0x140018bf7
jmp 0x140018c06
test byte [rbx + 7], 0x40
jne 0x140018be0
mov rcx, rbx
call fcn.140005570
jmp 0x140018be0
test byte [r15 + 7], 0x40
jne 0x140018c06
mov rcx, r15
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140018c2b
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
add rdi, 1
jno 0x140018c43
call fcn.140005648
cmp rdi, r13
mov rax, rdi
setge bl
shr rax, 0x3f
or bl, al
je 0x140018c60
lea rdx, [r13 - 1]
mov rcx, rdi
call fcn.140006c7e
movzx eax, byte [rdi + r14 + 8]
lea rdx, [0x14003d780]
mov al, byte [rdx + rax]
mov byte [rsp + 0x60], al
inc al
jne 0x140018f03
xor ecx, ecx
mov edx, 8
mov qword [rsp + 0xb0], rcx
mov ecx, 0x40
call fcn.1400068a4
mov r12, rax
mov rax, qword [0x140043dc0]
xor edx, edx
test bl, bl
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rdx
mov qword [r12], rax
lea rax, [0x1400406e0]
mov qword [r12 + 0x10], rax
jne 0x140018cc9
jmp 0x140018ceb
lea rbx, [r13 - 1]
mov rcx, rdi
mov rdx, rbx
call fcn.140006c7e
jmp 0x140018cdc
mov rdx, rbx
mov rcx, rdi
call fcn.140006c7e
jmp 0x140018ceb
movzx edx, byte [r14 + rdi + 8]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, rdi
mov rcx, rbx
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov r15, rax
call fcn.140002250
jmp 0x140018d33
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xa0]
mov qword [rsp + 0x90], rax
mov rbx, rax
lea rax, [rsp + 0xc0]
lea rdx, [rbp + rsi + 0x38]
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.140006626
mov rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0xa0]
movaps xmm3, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm3
call fcn.140017a5a
movzx edx, byte [r14 + rdi + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x78], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0xa0]
movaps xmm4, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0xa0], xmm4
call fcn.140017a5a
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xc0]
mov rdx, qword [rsp + 0x80]
mov rcx, rbp
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
lea rax, [rsp + 0xa0]
movaps xmm5, xmmword [0x140040720]
mov rcx, rbp
mov rdx, rax
mov qword [rsp + 0x78], rax
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
mov rdx, qword [rsp + 0x78]
mov rcx, rbp
mov qword [rsp + 0xa0], rsi
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
movaps xmm0, xmmword [0x140040700]
lea rdx, [rsp + 0xa0]
mov rcx, rbp
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
movaps xmm1, xmmword [rsp + 0xc0]
xor eax, eax
mov rcx, r12
mov qword [r12 + 8], rax
lea r9, str.base64.nim
movups xmmword [r12 + 0x18], xmm1
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rbx, rbx
jne 0x140018eb2
test r15, r15
jne 0x140018ec2
jmp 0x140018ed1
test byte [rbx + 7], 0x40
jne 0x140018eab
mov rcx, rbx
call fcn.140005570
jmp 0x140018eab
test byte [r15 + 7], 0x40
jne 0x140018ed1
mov rcx, r15
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140018ef6
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
mov rax, rdi
add rax, 1
mov r15, rax
jno 0x140018f14
call fcn.140005648
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x38], 0
mov rdx, qword [rax]
js 0x140018f2e
cmp qword [rsp + 0x38], rdx
jl 0x140018f3b
mov rcx, qword [rsp + 0x38]
dec rdx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x48]
mov rbx, rdi
sar rcx, 4
shl eax, 2
or eax, ecx
add rbx, 1
mov byte [rdx + rdi + 8], al
jno 0x140018f7d
call fcn.140005648
mov rax, qword [rsp + 0x120]
test rbx, rbx
mov rdx, qword [rax]
js 0x140018f92
cmp rbx, rdx
jl 0x140018f9d
dec rdx
mov rcx, rbx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x50]
sar rcx, 2
shl eax, 4
or eax, ecx
mov byte [rdx + rbx + 8], al
add rbx, 1
jno 0x140018fd7
call fcn.140005648
mov rax, qword [rsp + 0x120]
test rbx, rbx
mov rdx, qword [rax]
js 0x140018fec
cmp rbx, rdx
jl 0x140018ff7
dec rdx
mov rcx, rbx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x58]
shl eax, 6
or eax, dword [rsp + 0x60]
mov byte [rdx + rbx + 8], al
add rbx, 1
mov qword [rsp + 0x38], rbx
jno 0x140018397
call fcn.140005648
jmp 0x140018397
mov rax, rbx
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x140019067
cmp rdx, 3
jne 0x140019ed2
jmp 0x14001960a
cmp r15, r13
mov rax, r15
setge dl
shr rax, 0x3f
mov ebx, edx
or bl, al
je 0x140019086
lea rdx, [r13 - 1]
mov rcx, r15
call fcn.140006c7e
movzx eax, byte [r15 + r14 + 8]
lea rdx, [0x14003d780]
mov al, byte [rdx + rax]
mov byte [rsp + 0x50], al
inc al
jne 0x140019302
xor eax, eax
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], rax
call fcn.1400068a4
mov rdi, rax
mov rax, qword [0x140043dc0]
mov qword [rdi], rax
lea rax, [0x1400406e0]
mov qword [rdi + 0x10], rax
xor eax, eax
test bl, bl
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rax
jne 0x1400190ed
jmp 0x14001910f
lea rbx, [r13 - 1]
mov rcx, r15
mov rdx, rbx
call fcn.140006c7e
jmp 0x140019100
mov rdx, rbx
mov rcx, r15
call fcn.140006c7e
jmp 0x14001910f
movzx edx, byte [r15 + r14 + 8]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, r15
mov rcx, rbx
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
mov rsi, rax
call fcn.140002250
jmp 0x140019153
mov rax, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov rbx, rax
lea rax, [rsp + 0xc0]
lea rdx, [rbp + r12 + 0x38]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140006626
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xa0]
movaps xmm2, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
movzx edx, byte [r15 + r14 + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0xa0]
movaps xmm3, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x48], rax
movaps xmmword [rsp + 0xa0], xmm3
call fcn.140017a5a
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rbp
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm4, xmmword [0x140040720]
movaps xmmword [rsp + 0xa0], xmm4
call fcn.140017a5a
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], r12
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm5, xmmword [0x140040700]
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
movaps xmm0, xmmword [rsp + 0xc0]
xor eax, eax
mov rcx, rdi
mov qword [rdi + 8], rax
lea r9, str.base64.nim
movups xmmword [rdi + 0x18], xmm0
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rbx, rbx
jne 0x1400192b2
test rsi, rsi
jne 0x1400192c2
jmp 0x1400192d0
test byte [rbx + 7], 0x40
jne 0x1400192ab
mov rcx, rbx
call fcn.140005570
jmp 0x1400192ab
test byte [rsi + 7], 0x40
jne 0x1400192d0
mov rcx, rsi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x1400192f5
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
mov rbx, r15
add rbx, 1
jno 0x140019310
call fcn.140005648
mov rax, rbx
shr rax, 0x3f
cmp rbx, r13
setge sil
or sil, al
je 0x14001932f
lea rdx, [r13 - 1]
mov rcx, rbx
call fcn.140006c7e
movzx eax, byte [rbx + r14 + 8]
lea rdx, [0x14003d780]
movzx eax, byte [rdx + rax]
cmp rax, 0xff
mov qword [rsp + 0x58], rax
jne 0x14001959c
xor eax, eax
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], rax
call fcn.1400068a4
mov rbp, rax
mov rax, qword [0x140043dc0]
xor r15d, r15d
test sil, sil
mov qword [rsp + 0xc0], r15
mov qword [rsp + 0xc8], r15
mov qword [rbp], rax
lea rax, [0x1400406e0]
mov qword [rbp + 0x10], rax
jne 0x14001939f
jmp 0x1400193c0
dec r13
mov rcx, rbx
mov rdx, r13
call fcn.140006c7e
jmp 0x1400193b1
mov rdx, r13
mov rcx, rbx
call fcn.140006c7e
jmp 0x1400193c0
movzx edx, byte [rbx + r14 + 8]
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, rbx
mov rcx, rsi
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov rdi, rax
call fcn.140002250
jmp 0x140019404
mov r13, qword [rsp + 0xa0]
lea rax, [rsp + 0xc0]
mov r12, qword [rsp + 0xa8]
mov rcx, rax
mov qword [rsp + 0x40], rax
lea rdx, [r15 + r13 + 0x38]
mov rsi, r12
call fcn.140006626
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0xa0]
movaps xmm1, xmmword [0x140040770]
mov rdx, rax
mov qword [rsp + 0x48], rax
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
movzx edx, byte [rbx + r14 + 8]
mov rcx, qword [rsp + 0x40]
call fcn.140017a10
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm2, xmmword [0x140040750]
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], r15
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm3, xmmword [0x140040720]
movaps xmmword [rsp + 0xa0], xmm3
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0xa0], r13
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], r12
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm4, xmmword [0x140040700]
movaps xmmword [rsp + 0xa0], xmm4
call fcn.140017a5a
movaps xmm5, xmmword [rsp + 0xc0]
xor r12d, r12d
mov rcx, rbp
mov qword [rbp + 8], r12
lea r9, str.base64.nim
movups xmmword [rbp + 0x18], xmm5
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rsi, rsi
jne 0x14001954c
test rdi, rdi
jne 0x14001955c
jmp 0x14001956a
test byte [rsi + 7], 0x40
jne 0x140019545
mov rcx, rsi
call fcn.140005570
jmp 0x140019545
test byte [rdi + 7], 0x40
jne 0x14001956a
mov rcx, rdi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x14001958f
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
add rbx, 1
jno 0x1400195a7
call fcn.140005648
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x38], 0
mov rdx, qword [rax]
js 0x1400195c1
cmp qword [rsp + 0x38], rdx
jl 0x1400195ce
mov rcx, qword [rsp + 0x38]
dec rdx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x50]
sar rcx, 4
mov rbx, rdi
shl eax, 2
or eax, ecx
mov byte [rdx + rdi + 8], al
jmp 0x140019ec2
cmp r15, r13
mov rax, r15
setge dl
shr rax, 0x3f
mov ebx, edx
or bl, al
je 0x140019629
lea rdx, [r13 - 1]
mov rcx, r15
call fcn.140006c7e
movzx eax, byte [r15 + r14 + 8]
lea rdx, [0x14003d780]
mov al, byte [rdx + rax]
mov byte [rsp + 0x50], al
inc al
jne 0x1400198a6
xor edi, edi
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], rdi
call fcn.1400068a4
mov rdi, rax
mov rax, qword [0x140043dc0]
xor esi, esi
test bl, bl
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], rsi
mov qword [rdi], rax
lea rax, [0x1400406e0]
mov qword [rdi + 0x10], rax
jne 0x140019690
jmp 0x1400196b2
lea rbx, [r13 - 1]
mov rcx, r15
mov rdx, rbx
call fcn.140006c7e
jmp 0x1400196a3
mov rdx, rbx
mov rcx, r15
call fcn.140006c7e
jmp 0x1400196b2
movzx edx, byte [r15 + r14 + 8]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, r15
mov rcx, rbx
mov rbp, qword [rsp + 0xa0]
mov qword [rsp + 0x58], rax
mov rsi, rax
call fcn.140002250
jmp 0x1400196f6
mov rax, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x60], rax
mov rbx, rax
lea rax, [rsp + 0xc0]
lea rdx, [rbp + r12 + 0x38]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140006626
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xa0]
movaps xmm0, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
movzx edx, byte [r15 + r14 + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0xa0]
movaps xmm1, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x48], rax
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xa0], rbp
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm2, xmmword [0x140040720]
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0xa0], r12
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
movaps xmm3, xmmword [0x140040700]
movaps xmmword [rsp + 0xa0], xmm3
call fcn.140017a5a
movaps xmm4, xmmword [rsp + 0xc0]
xor r11d, r11d
mov rcx, rdi
mov qword [rdi + 8], r11
lea r9, str.base64.nim
movups xmmword [rdi + 0x18], xmm4
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rbx, rbx
jne 0x140019856
test rsi, rsi
jne 0x140019866
jmp 0x140019874
test byte [rbx + 7], 0x40
jne 0x14001984f
mov rcx, rbx
call fcn.140005570
jmp 0x14001984f
test byte [rsi + 7], 0x40
jne 0x140019874
mov rcx, rsi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140019899
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
mov rbx, r15
add rbx, 1
jno 0x1400198b4
call fcn.140005648
cmp rbx, r13
mov rax, rbx
setge sil
shr rax, 0x3f
or sil, al
je 0x1400198d3
lea rdx, [r13 - 1]
mov rcx, rbx
call fcn.140006c7e
movzx eax, byte [rbx + r14 + 8]
lea rdx, [0x14003d780]
movzx eax, byte [rdx + rax]
cmp rax, 0xff
mov byte [rsp + 0x48], al
mov qword [rsp + 0x58], rax
jne 0x140019b69
xor r10d, r10d
mov edx, 8
mov ecx, 0x40
mov qword [rsp + 0xb0], r10
call fcn.1400068a4
mov rbp, rax
mov rax, qword [0x140043dc0]
xor r9d, r9d
test sil, sil
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xc8], r9
mov qword [rbp], rax
lea rax, [0x1400406e0]
mov qword [rbp + 0x10], rax
jne 0x140019948
jmp 0x14001996a
lea rsi, [r13 - 1]
mov rcx, rbx
mov rdx, rsi
call fcn.140006c7e
jmp 0x14001995b
mov rdx, rsi
mov rcx, rbx
call fcn.140006c7e
jmp 0x14001996a
movzx edx, byte [rbx + r14 + 8]
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.140002250
mov rax, qword [rsp + 0xa8]
mov rdx, rbx
mov rcx, rsi
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rax
mov rdi, rax
call fcn.140002250
jmp 0x1400199ae
mov rax, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x70], rax
mov rsi, rax
lea rax, [rsp + 0xc0]
lea rdx, [r15 + r12 + 0x38]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140006626
mov rcx, qword [rsp + 0x40]
lea rdx, [rsp + 0xa0]
movaps xmm5, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
movzx edx, byte [rbx + r14 + 8]
lea rax, [rsp + 0xc0]
mov rcx, rax
mov qword [rsp + 0x40], rax
call fcn.140017a10
mov rcx, qword [rsp + 0x40]
lea rax, [rsp + 0xa0]
movaps xmm0, xmmword [0x140040750]
mov rdx, rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xa0], r15
lea r15, [rsp + 0xc0]
mov rdx, qword [rsp + 0x60]
mov rcx, r15
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
lea rax, [rsp + 0xa0]
movaps xmm1, xmmword [0x140040720]
mov rcx, r15
mov rdx, rax
mov qword [rsp + 0x40], rax
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
mov rax, qword [rsp + 0x70]
mov rcx, r15
mov qword [rsp + 0xa0], r12
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
mov rdx, qword [rsp + 0x40]
mov rcx, r15
movaps xmm2, xmmword [0x140040700]
movaps xmmword [rsp + 0xa0], xmm2
call fcn.140017a5a
movaps xmm3, xmmword [rsp + 0xc0]
xor r8d, r8d
mov rcx, rbp
mov qword [rbp + 8], r8
lea r9, str.base64.nim
movups xmmword [rbp + 0x18], xmm3
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rsi, rsi
jne 0x140019b19
test rdi, rdi
jne 0x140019b29
jmp 0x140019b37
test byte [rsi + 7], 0x40
jne 0x140019b12
mov rcx, rsi
call fcn.140005570
jmp 0x140019b12
test byte [rdi + 7], 0x40
jne 0x140019b37
mov rcx, rdi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140019b5c
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
add rbx, 1
jno 0x140019b74
call fcn.140005648
cmp rbx, r13
mov rax, rbx
setge sil
shr rax, 0x3f
or sil, al
je 0x140019b93
lea rdx, [r13 - 1]
mov rcx, rbx
call fcn.140006c7e
movzx eax, byte [rbx + r14 + 8]
lea rdx, [0x14003d780]
movzx eax, byte [rdx + rax]
cmp rax, 0xff
mov qword [rsp + 0x40], rax
jne 0x140019dff
xor ecx, ecx
mov edx, 8
mov qword [rsp + 0xb0], rcx
mov ecx, 0x40
call fcn.1400068a4
mov rbp, rax
mov rax, qword [0x140043dc0]
xor edx, edx
test sil, sil
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rdx
mov qword [rbp], rax
lea rax, [0x1400406e0]
mov qword [rbp + 0x10], rax
jne 0x140019c02
jmp 0x140019c23
dec r13
mov rcx, rbx
mov rdx, r13
call fcn.140006c7e
jmp 0x140019c14
mov rdx, r13
mov rcx, rbx
call fcn.140006c7e
jmp 0x140019c23
movzx edx, byte [rbx + r14 + 8]
lea rsi, [rsp + 0xa0]
mov rcx, rsi
call fcn.140002250
mov r13, qword [rsp + 0xa8]
mov rdx, rbx
mov rcx, rsi
mov r15, qword [rsp + 0xa0]
mov rdi, r13
call fcn.140002250
jmp 0x140019c62
mov rax, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xa0]
mov qword [rsp + 0x68], rax
mov rsi, rax
lea rax, [rsp + 0xc0]
lea rdx, [r15 + r12 + 0x38]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.140006626
mov rcx, qword [rsp + 0x60]
lea rdx, [rsp + 0xa0]
movaps xmm4, xmmword [0x140040770]
movaps xmmword [rsp + 0xa0], xmm4
call fcn.140017a5a
movzx edx, byte [rbx + r14 + 8]
lea r14, [rsp + 0xc0]
mov rcx, r14
call fcn.140017a10
lea rax, [rsp + 0xa0]
movaps xmm5, xmmword [0x140040750]
mov rcx, r14
mov rdx, rax
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0xa0], xmm5
call fcn.140017a5a
mov rdx, qword [rsp + 0x60]
mov rcx, r14
mov qword [rsp + 0xa0], r15
mov qword [rsp + 0xa8], r13
call fcn.140017a5a
movaps xmm0, xmmword [0x140040720]
lea r13, [rsp + 0xa0]
mov rcx, r14
mov rdx, r13
movaps xmmword [rsp + 0xa0], xmm0
call fcn.140017a5a
mov rax, qword [rsp + 0x68]
mov rdx, r13
mov rcx, r14
mov qword [rsp + 0xa0], r12
mov qword [rsp + 0xa8], rax
call fcn.140017a5a
movaps xmm1, xmmword [0x140040700]
mov rdx, r13
mov rcx, r14
movaps xmmword [rsp + 0xa0], xmm1
call fcn.140017a5a
movaps xmm2, xmmword [rsp + 0xc0]
xor eax, eax
mov rcx, rbp
mov qword [rbp + 8], rax
lea r9, str.base64.nim
movups xmmword [rbp + 0x18], xmm2
lea r8, str.decode
mov qword [rsp + 0x20], 0xe6
lea rdx, [0x1400406e0]
call fcn.140005bc2
test rsi, rsi
jne 0x140019daf
test rdi, rdi
jne 0x140019dbf
jmp 0x140019dcd
test byte [rsi + 7], 0x40
jne 0x140019da8
mov rcx, rsi
call fcn.140005570
jmp 0x140019da8
test byte [rdi + 7], 0x40
jne 0x140019dcd
mov rcx, rdi
call fcn.140005570
mov rdx, qword [rsp + 0xb0]
test rdx, rdx
je 0x140019df2
lea rsi, [rsp + 0xb8]
mov rcx, rsi
call fcn.140017ace
mov rcx, rsi
call fcn.140032a20
lea rcx, [rsp + 0xb0]
call fcn.14003c3d0
add rbx, 1
jno 0x140019e0a
call fcn.140005648
mov rax, qword [rsp + 0x120]
cmp qword [rsp + 0x38], 0
mov rdx, qword [rax]
js 0x140019e24
cmp qword [rsp + 0x38], rdx
jl 0x140019e31
mov rcx, qword [rsp + 0x38]
dec rdx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x50]
mov rbx, rdi
sar rcx, 4
shl eax, 2
or eax, ecx
add rbx, 1
mov byte [rdx + rdi + 8], al
jno 0x140019e73
call fcn.140005648
mov rax, qword [rsp + 0x120]
test rbx, rbx
mov rdx, qword [rax]
js 0x140019e88
cmp rbx, rdx
jl 0x140019e93
dec rdx
mov rcx, rbx
call fcn.140006c7e
mov rcx, qword [rsp + 0x120]
call fcn.140017a45
mov rax, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rax + 8]
mov al, byte [rsp + 0x48]
sar rcx, 2
shl eax, 4
or eax, ecx
mov byte [rdx + rbx + 8], al
add rbx, 1
jno 0x140019ecd
call fcn.140005648
mov qword [rsp + 0x38], rbx
cmp qword [rsp + 0x38], 0
jns 0x140019ef0
mov rcx, qword [rsp + 0x38]
xor edx, edx
movabs r8, 0x7fffffffffffffff
call fcn.140005dce
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x120]
call fcn.1400066e1
jmp 0x14001a36c
mov rax, qword [rsp + 0x120]
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret