Function at 0x14000e4d9
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rsi, rcx
test rcx, rcx
je 0x14000f4ff
mov rcx, qword [rcx]
test rcx, rcx
je 0x14000f4ff
call fcn.14000e4b2
mov r12, rax
test rax, rax
jns 0x14000e522
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, rax
call fcn.140004f7f
mov rdx, r12
xor ecx, ecx
movabs r12, 0x2000000100002400
call fcn.140004b54
mov rdi, qword [rsi]
mov r13, rax
mov rbx, rdi
xor ebp, ebp
sub rbx, 1
jno 0x14000e551
mov ebp, 1
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000e55e
cmp rbx, rdx
jl 0x14000e569
dec rdx
mov rcx, rbx
call fcn.1400050c3
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x3d
ja 0x14000e57c
mov rax, r12
shr rax, cl
test al, 1
jne 0x14000e591
mov rax, rdi
sub rax, 4
mov qword [rsp + 0x60], rax
jno 0x14000e5a2
call fcn.140003dad
jmp 0x14000e5a2
test rbp, rbp
jne 0x14000e59b
mov rdi, rbx
jmp 0x14000e53c
call fcn.140003dad
jmp 0x14000e596
xor r12d, r12d
xor ebx, ebx
lea rbp, [0x14001d8a0]
cmp qword [rsp + 0x60], rbx
jge 0x14000e5f4
mov rbp, rbx
sub rbp, rdi
jno 0x14000ecb7
call fcn.140003dad
jmp 0x14000ecb7
cmp rbx, rdx
jge 0x14000e5fc
mov cl, byte [rsi + rbx + 0x10]
cmp cl, 0x20
ja 0x14000e609
mov eax, 0x400009
shl rax, 0xa
shr rax, cl
test al, 1
je 0x14000e609
add rbx, 1
jno 0x14000e5f4
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
jns 0x14000e5cb
dec rdx
mov rcx, rbx
call fcn.1400050c3
jmp 0x14000e5d0
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000e616
cmp rbx, rdx
jl 0x14000e621
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [rbp + rax]
mov byte [rsp + 0x30], al
inc al
jne 0x14000e774
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000e669
cmp rbx, qword [rsi]
jl 0x14000e691
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000e682
cmp rbx, qword [rsi]
jl 0x14000e691
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov qword [rsp + 0x38], rax
call fcn.140001a64
mov r8, qword [rsp + 0x38]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000e6ba
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x14000e6c4
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x38], r8
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov r8, qword [rsp + 0x38]
mov rcx, r9
mov rdx, r8
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000e77f
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000e78c
cmp rbx, rdx
jl 0x14000e797
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov byte [rsp + 0x38], al
mov qword [rsp + 0x50], rax
cmp rax, 0xff
jne 0x14000e8f4
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000e7e9
cmp rbx, qword [rsi]
jl 0x14000e811
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000e802
cmp rbx, qword [rsi]
jl 0x14000e811
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov qword [rsp + 0x40], rax
call fcn.140001a64
mov r8, qword [rsp + 0x40]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000e83a
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x14000e844
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000e8ff
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000e90c
cmp rbx, rdx
jl 0x14000e917
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov byte [rsp + 0x40], al
mov qword [rsp + 0x58], rax
cmp rax, 0xff
jne 0x14000ea74
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000e969
cmp rbx, qword [rsi]
jl 0x14000e991
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000e982
cmp rbx, qword [rsi]
jl 0x14000e991
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov qword [rsp + 0x48], rax
call fcn.140001a64
mov r8, qword [rsp + 0x48]
xor edx, edx
mov r15, rax
test r8, r8
je 0x14000e9ba
mov rdx, qword [r8]
xor eax, eax
test r15, r15
je 0x14000e9c4
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x48], r8
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov r8, qword [rsp + 0x48]
mov rcx, r9
mov rdx, r8
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000ea7f
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000ea8c
cmp rbx, rdx
jl 0x14000ea97
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
mov al, byte [rbp + rax]
mov byte [rsp + 0x48], al
inc al
jne 0x14000ebe3
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000eadf
cmp rbx, qword [rsi]
jl 0x14000eb07
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000eaf8
cmp rbx, qword [rsi]
jl 0x14000eb07
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov r15, rax
call fcn.140001a64
xor edx, edx
mov r8, rax
test r15, r15
je 0x14000eb29
mov rdx, qword [r15]
xor eax, eax
test r8, r8
je 0x14000eb33
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x68], r8
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov r8, qword [rsp + 0x68]
mov rcx, r9
mov rdx, r8
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000ebee
call fcn.140003dad
test r13, r13
je 0x14000ec00
test r12, r12
js 0x14000ec00
cmp r12, qword [r13]
jl 0x14000ec19
jmp 0x14000ec09
or rdx, 0xffffffffffffffff
test r13, r13
je 0x14000ec11
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.1400050c3
mov al, byte [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
shl eax, 2
sar rdx, 4
or eax, edx
mov byte [r13 + r12 + 0x10], al
add r12, 1
jno 0x14000ec3b
call fcn.140003dad
mov rdx, qword [r13]
test r12, r12
js 0x14000ec49
cmp r12, rdx
jl 0x14000ec54
dec rdx
mov rcx, r12
call fcn.1400050c3
mov al, byte [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
shl eax, 4
sar rdx, 2
or eax, edx
mov byte [r13 + r12 + 0x10], al
add r12, 1
jno 0x14000ec76
call fcn.140003dad
mov rdx, qword [r13]
test r12, r12
js 0x14000ec84
cmp r12, rdx
jl 0x14000ec8f
dec rdx
mov rcx, r12
call fcn.1400050c3
mov al, byte [rsp + 0x40]
mov r15b, byte [rsp + 0x48]
shl eax, 6
or r15d, eax
mov byte [r13 + r12 + 0x10], r15b
add r12, 1
jno 0x14000e5ae
call fcn.140003dad
jmp 0x14000e5ae
mov rax, rbp
mov ecx, 4
cqo
idiv rcx
mov rax, rdx
sar rax, 0x3f
xor rdx, rax
sub rdx, rax
cmp rdx, 2
je 0x14000ece6
cmp rdx, 3
jne 0x14000f4cb
jmp 0x14000effc
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000ecf3
cmp rbx, rdx
jl 0x14000ecfe
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x14001d8a0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x30], al
inc al
jne 0x14000ee47
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000ed4d
cmp rbx, qword [rsi]
jl 0x14000ed75
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000ed66
cmp rbx, qword [rsi]
jl 0x14000ed75
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov rdi, rax
call fcn.140001a64
xor edx, edx
mov r15, rax
test rdi, rdi
je 0x14000ed97
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x14000eda1
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, rdi
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000ee52
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000ee5f
cmp rbx, rdx
jl 0x14000ee6a
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x14000efae
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000eeb4
cmp rbx, qword [rsi]
jl 0x14000eedc
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000eecd
cmp rbx, qword [rsi]
jl 0x14000eedc
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov rdi, rax
call fcn.140001a64
mov r15, rax
xor eax, eax
test rdi, rdi
je 0x14000eefe
mov rax, qword [rdi]
xor edx, edx
test r15, r15
je 0x14000ef08
mov rdx, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, rdi
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000efb9
call fcn.140003dad
test r13, r13
je 0x14000efcb
test r12, r12
js 0x14000efcb
cmp r12, qword [r13]
jl 0x14000efe4
jmp 0x14000efd4
or rdx, 0xffffffffffffffff
test r13, r13
je 0x14000efdc
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.1400050c3
mov dil, byte [rsp + 0x30]
sar rbp, 4
shl edi, 2
or edi, ebp
mov byte [r13 + r12 + 0x10], dil
jmp 0x14000f4c0
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000f009
cmp rbx, rdx
jl 0x14000f014
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
lea rbp, [0x14001d8a0]
mov al, byte [rbp + rax]
mov byte [rsp + 0x38], al
inc al
jne 0x14000f15d
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r14, rax
mov rax, qword [0x1401fff90]
mov qword [r14], rax
lea rax, [0x14001d760]
mov qword [r14 + 0x10], rax
test rbx, rbx
js 0x14000f063
cmp rbx, qword [rsi]
jl 0x14000f08b
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000f07c
cmp rbx, qword [rsi]
jl 0x14000f08b
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov rdi, rax
call fcn.140001a64
xor edx, edx
mov r15, rax
test rdi, rdi
je 0x14000f0ad
mov rdx, qword [rdi]
xor eax, eax
test r15, r15
je 0x14000f0b7
mov rax, qword [r15]
lea rcx, [rdx + rax + 0x38]
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, rdi
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, r15
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r14 + 0x18]
call fcn.14000e433
lea rcx, [r14 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r14
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000f168
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000f175
cmp rbx, rdx
jl 0x14000f180
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
movzx eax, byte [rbp + rax]
mov qword [rsp + 0x30], rax
cmp rax, 0xff
jne 0x14000f2c8
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r15, rax
mov rax, qword [0x1401fff90]
mov qword [r15], rax
lea rax, [0x14001d760]
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x14000f1ce
cmp rbx, qword [rsi]
jl 0x14000f1f6
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000f1e7
cmp rbx, qword [rsi]
jl 0x14000f1f6
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov r14, rax
call fcn.140001a64
xor edx, edx
mov rdi, rax
test r14, r14
je 0x14000f218
mov rdx, qword [r14]
xor eax, eax
test rdi, rdi
je 0x14000f222
mov rax, qword [rdi]
lea rcx, [rdx + rax + 0x38]
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, r14
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov rcx, r9
mov rdx, rdi
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.14000e433
lea rcx, [r15 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r15
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000f2d3
call fcn.140003dad
mov rdx, qword [rsi]
test rbx, rbx
js 0x14000f2e0
cmp rbx, rdx
jl 0x14000f2eb
dec rdx
mov rcx, rbx
call fcn.1400050c3
movzx eax, byte [rsi + rbx + 0x10]
movzx ebp, byte [rbp + rax]
cmp rbp, 0xff
jne 0x14000f439
mov rcx, qword [0x1401fff40]
mov edx, 0x30
call fcn.1400047a7
mov r15, rax
mov rax, qword [0x1401fff90]
mov qword [r15], rax
lea rax, [0x14001d760]
mov qword [r15 + 0x10], rax
test rbx, rbx
js 0x14000f335
cmp rbx, qword [rsi]
jl 0x14000f35d
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
test rbx, rbx
js 0x14000f34e
cmp rbx, qword [rsi]
jl 0x14000f35d
mov rax, qword [rsi]
mov rcx, rbx
lea rdx, [rax - 1]
call fcn.1400050c3
movzx ecx, byte [rsi + rbx + 0x10]
call fcn.140001a64
mov rcx, rbx
mov rdi, rax
call fcn.140001a64
xor edx, edx
mov r8, rax
test rdi, rdi
je 0x14000f37f
mov rdx, qword [rdi]
xor eax, eax
test r8, r8
je 0x14000f389
mov rax, qword [r8]
lea rcx, [rdx + rax + 0x38]
mov qword [rsp + 0x40], r8
call fcn.1400047d8
lea rdx, [0x14001d860]
mov rcx, rax
mov r9, rax
call fcn.14000e484
movsx edx, byte [rsi + rbx + 0x10]
mov rcx, r9
call fcn.14000e420
lea rdx, [0x14001d840]
call fcn.14000e484
mov rcx, r9
mov rdx, rdi
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d820]
call fcn.14000e484
mov r8, qword [rsp + 0x40]
mov rcx, r9
mov rdx, r8
call fcn.14000e4aa
mov rcx, r9
lea rdx, [0x14001d800]
call fcn.14000e484
mov rdx, r9
lea rcx, [r15 + 0x18]
call fcn.14000e433
lea rcx, [r15 + 8]
xor edx, edx
call fcn.14000e433
lea r9, str.base64.nim
lea r8, str.decode
mov rcx, r15
mov qword [rsp + 0x20], 0xe9
lea rdx, [0x14001d760]
call fcn.140004e6c
add rbx, 1
jno 0x14000f444
call fcn.140003dad
test r13, r13
je 0x14000f456
test r12, r12
js 0x14000f456
cmp r12, qword [r13]
jl 0x14000f46f
jmp 0x14000f45f
or rdx, 0xffffffffffffffff
test r13, r13
je 0x14000f467
mov rax, qword [r13]
lea rdx, [rax - 1]
mov rcx, r12
call fcn.1400050c3
mov dil, byte [rsp + 0x38]
mov rax, qword [rsp + 0x30]
shl edi, 2
sar rax, 4
or edi, eax
mov byte [r13 + r12 + 0x10], dil
add r12, 1
jno 0x14000f492
call fcn.140003dad
mov rdx, qword [r13]
test r12, r12
js 0x14000f4a0
cmp r12, rdx
jl 0x14000f4ab
dec rdx
mov rcx, r12
call fcn.1400050c3
mov r14, qword [rsp + 0x30]
sar rbp, 2
shl r14, 4
or r14d, ebp
mov byte [r13 + r12 + 0x10], r14b
add r12, 1
jno 0x14000f4cb
call fcn.140003dad
test r12, r12
jns 0x14000f4e4
movabs r8, 0x7fffffffffffffff
xor edx, edx
mov rcx, r12
call fcn.140004f7f
mov rdx, r12
mov rcx, r13
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.140004b54
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret