Function at 0x1400e0620
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r9
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
lea eax, [rdx + 0x3f]
mov r10d, edx
shr eax, 6
xor r12d, r12d
sub r10d, eax
xor r14d, r14d
inc r10d
mov rdi, r9
mov r13, r8
mov esi, edx
mov r11, rcx
lea eax, [r10 + r10*2]
shr eax, 2
cmp eax, dword [r9]
ja 0x1400e0a08
cmp edx, 3
jbe 0x1400e0931
mov r8d, edx
mov edx, r14d
movzx ecx, byte [r14 + r11]
movabs rbx, 0x100002400
cmp cl, 0x20
ja 0x1400e06da
bt rbx, rcx
jae 0x1400e06da
lea r8d, [rsi - 1]
lea edx, [r14 + 1]
test r8d, r8d
je 0x1400e06b9
cmp cl, 0x20
jne 0x1400e06b9
movzx ecx, byte [rdx + r11]
inc edx
add r8d, 0xffffffff
jne 0x1400e06a7
cmp cl, 0xd
jne 0x1400e06d1
test r8d, r8d
je 0x1400e094a
movzx ecx, byte [rdx + r11]
inc edx
dec r8d
cmp cl, 0xa
jne 0x1400e094a
test r8d, r8d
je 0x1400e0931
mov eax, edx
lea ecx, [rdx + 1]
movzx r10d, byte [rax + r11]
test r10b, r10b
je 0x1400e0931
lea edx, [r8 - 1]
test edx, edx
je 0x1400e0ae4
movzx r8d, byte [rcx + r11]
cmp r8b, 0x20
ja 0x1400e075b
bt rbx, r8
jae 0x1400e075b
inc ecx
sub edx, 1
je 0x1400e0732
nop word [rax + rax]
cmp r8b, 0x20
jne 0x1400e0732
movzx r8d, byte [rcx + r11]
inc ecx
add edx, 0xffffffff
jne 0x1400e0720
cmp r8b, 0xd
jne 0x1400e0749
test edx, edx
je 0x1400e0977
movzx r8d, byte [rcx + r11]
inc ecx
dec edx
cmp r8b, 0xa
jne 0x1400e0977
test edx, edx
je 0x1400e0ae4
movzx r9d, byte [rcx + r11]
inc ecx
sub edx, 1
je 0x1400e0ae4
movzx r8d, byte [rcx + r11]
cmp r8b, 0x20
ja 0x1400e07be
bt rbx, r8
jae 0x1400e07be
inc ecx
sub edx, 1
je 0x1400e0795
cmp r8b, 0x20
jne 0x1400e0795
movzx r8d, byte [rcx + r11]
inc ecx
add edx, 0xffffffff
jne 0x1400e0783
cmp r8b, 0xd
jne 0x1400e07ac
test edx, edx
je 0x1400e0977
movzx r8d, byte [rcx + r11]
inc ecx
dec edx
cmp r8b, 0xa
jne 0x1400e0977
test edx, edx
je 0x1400e0ae4
movzx r15d, byte [rcx + r11]
lea r8d, [rdx - 1]
inc ecx
test r8d, r8d
je 0x1400e0ae4
movzx edx, byte [rcx + r11]
cmp dl, 0x20
ja 0x1400e082c
bt rbx, rdx
jae 0x1400e082c
inc ecx
sub r8d, 1
je 0x1400e0802
nop word [rax + rax]
cmp dl, 0x20
jne 0x1400e0802
movzx edx, byte [rcx + r11]
inc ecx
add r8d, 0xffffffff
jne 0x1400e07f0
cmp dl, 0xd
jne 0x1400e081a
test r8d, r8d
je 0x1400e09a5
movzx edx, byte [rcx + r11]
inc ecx
dec r8d
cmp dl, 0xa
jne 0x1400e09a5
test r8d, r8d
je 0x1400e0ae4
movzx ebx, byte [rcx + r11]
lea r14d, [rcx + 1]
lea esi, [r8 - 1]
mov edx, r14d
mov r8d, esi
cmp r10b, 0x2b
jb 0x1400e0a8d
cmp r9b, 0x2b
jb 0x1400e0a8d
cmp r15b, 0x2b
jb 0x1400e0a8d
cmp bl, 0x2b
jb 0x1400e0a8d
cmp r10b, 0x7a
ja 0x1400e0a4c
cmp r9b, 0x7a
ja 0x1400e0a4c
cmp r15b, 0x7a
ja 0x1400e0a4c
cmp bl, 0x7a
ja 0x1400e0a4c
xor eax, eax
cmp bl, 0x3d
setne al
xor ecx, ecx
cmp r15b, 0x3d
setne cl
add eax, r12d
inc ecx
add ecx, eax
cmp ecx, dword [rdi]
ja 0x1400e09e5
lea rcx, [0x14098c3a0]
movzx ebp, byte [r10 + rcx - 0x2b]
movzx edi, byte [r9 + rcx - 0x2b]
cmp r15b, 0x3d
jne 0x1400e08cb
xor r9b, r9b
jmp 0x1400e08d1
movzx r9d, byte [r15 + rcx - 0x2b]
cmp bl, 0x3d
jne 0x1400e08da
xor al, al
jmp 0x1400e08df
movzx eax, byte [rbx + rcx - 0x2b]
shl bpl, 2
movzx ecx, dil
shr cl, 4
movzx r10d, r9b
or cl, bpl
shl r10b, 6
mov byte [r12 + r13], cl
or r10b, al
inc r12d
cmp r15b, 0x3d
je 0x1400e0917
shr r9b, 2
shl dil, 4
or r9b, dil
mov byte [r12 + r13], r9b
inc r12d
mov rdi, qword [rsp + 0x68]
cmp bl, 0x3d
je 0x1400e0931
mov byte [r12 + r13], r10b
inc r12d
cmp esi, 3
ja 0x1400e0680
test r13, r13
je 0x1400e0940
cmp dword [rdi], r12d
jbe 0x1400e0940
mov byte [r12 + r13], 0
mov dword [rdi], r12d
xor eax, eax
jmp 0x1400e0a0d
cmp dword [0x140a04560], 0
je 0x1400e0ada
mov rax, qword [0x140a04558]
test rax, rax
jne 0x1400e0990
lea ecx, [rax + 2]
call fcn.14017cf98
lea r8, str.Bad_end_of_line_in_Base64_Decode
jmp 0x1400e0acb
cmp dword [0x140a04560], 0
je 0x1400e0ada
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400e09be
lea rdx, str.Bad_end_of_line_in_Base64_Decode
mov ecx, 1
call rax
mov eax, 0xffffff66
jmp 0x1400e0a0d
cmp dword [0x140a04560], 0
je 0x1400e0ada
mov rax, qword [0x140a04558]
test rax, rax
jne 0x1400e0990
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.Bad_end_of_line_in_Base64_Decode
lea rdx, [0x140998764]
call fcn.1400af550
mov eax, 0xffffff66
jmp 0x1400e0a0d
cmp dword [0x140a04560], 0
je 0x1400e0a08
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400e0a2a
lea rdx, str.Bad_Base64_Decode_out_buffer__too_small
mov ecx, 1
call rax
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov ecx, 2
call fcn.14017cf98
mov rcx, rax
lea r8, str.Bad_Base64_Decode_out_buffer__too_small
lea rdx, [0x140998764]
call fcn.1400af550
jmp 0x1400e0a08
cmp dword [0x140a04560], 0
je 0x1400e0ada
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400e0a7a
lea rdx, str.Bad_Base64_Decode_data__too_big
mov ecx, 1
call rax
mov eax, 0xffffff66
jmp 0x1400e0a0d
mov ecx, 2
call fcn.14017cf98
lea r8, str.Bad_Base64_Decode_data__too_big
jmp 0x1400e0acb
cmp dword [0x140a04560], 0
je 0x1400e0ada
mov rax, qword [0x140a04558]
test rax, rax
je 0x1400e0aba
lea rdx, str.Bad_Base64_Decode_data__too_small
mov ecx, 1
call rax
mov eax, 0xffffff66
jmp 0x1400e0a0d
mov ecx, 2
call fcn.14017cf98
lea r8, str.Bad_Base64_Decode_data__too_small
lea rdx, [0x140998764]
mov rcx, rax
call fcn.1400af550
mov eax, 0xffffff66
jmp 0x1400e0a0d
mov eax, 0xffffff7c
jmp 0x1400e0a0d