Function at 0x140002670
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov rax, qword [0x1401eb9a0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, rdx
mov r12, rcx
mov qword [rbp - 0x48], rcx
mov r15, qword [rdx + 0x10]
test r15, r15
jne 0x1400026c5
xor r13d, r13d
mov qword [rcx], r13
mov qword [rcx + 0x10], r13
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], r13b
jmp 0x140002b36
test r8b, r8b
je 0x1400027f5
lea rcx, [rbp - 0x28]
call fcn.140002240
nop
lea r15, [rbp - 0x28]
mov rsi, qword [rbp - 0x28]
mov r14, qword [rbp - 0x10]
cmp r14, 0x10
cmovae r15, rsi
mov rdi, qword [rbp - 0x18]
add r15, rdi
lea rbx, [rbp - 0x28]
cmp r14, 0x10
cmovae rbx, rsi
add rbx, rdi
lea rcx, [rbp - 0x28]
cmp r14, 0x10
cmovae rcx, rsi
mov r8, rbx
sub r8, rcx
mov edx, 0xa
call fcn.140153000
mov rcx, rbx
test rax, rax
cmovne rcx, rax
mov r8, rcx
cmp rcx, rbx
je 0x140002759
inc rcx
cmp rcx, rbx
je 0x140002759
movzx eax, byte [rcx]
cmp al, 0xa
je 0x140002745
mov byte [r8], al
inc r8
inc rcx
cmp rcx, rbx
jne 0x140002738
mov r14, qword [rbp - 0x10]
mov rdi, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x28]
lea rax, [rbp - 0x28]
cmp r14, 0x10
cmovae rax, rsi
mov rdx, r8
sub rdx, rax
sub r15, r8
mov rax, rdi
sub rax, rdx
cmp rax, r15
cmovb r15, rax
lea rcx, [rbp - 0x28]
cmp r14, 0x10
cmovae rcx, rsi
add rcx, rdx
sub rdi, r15
mov qword [rbp - 0x18], rdi
sub rdi, rdx
lea r8, [rdi + 1]
lea rdx, [rcx + r15]
call fcn.140151fe0
xor r8d, r8d
lea rdx, [rbp - 0x28]
mov rcx, r12
call fcn.1400020a0
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140002b36
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400027eb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002b87
call fcn.14014fd6c
jmp 0x140002b36
mov rax, r15
shr rax, 2
lea rdx, [rax + rax*2]
xor r13d, r13d
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x28], r13b
lea rcx, [rbp - 0x28]
call fcn.1400020c0
test r15, r15
je 0x140002b23
mov esi, 2
nop
mov rdx, qword [rbx + 0x10]
lea rax, [rsi - 1]
cmp rdx, rax
jbe 0x140002b81
mov rcx, rbx
mov r8, qword [rbx + 0x18]
cmp r8, 0x10
jb 0x140002851
mov rcx, qword [rbx]
movzx ecx, byte [rax + rcx]
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x140002862
lea rax, [rcx - 0x41]
jmp 0x14000289d
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x14000286f
lea rax, [rcx - 0x47]
jmp 0x14000289d
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14000287c
lea rax, [rcx + 4]
jmp 0x14000289d
lea eax, [rcx - 0x2b]
test al, 0xfd
je 0x140002898
cmp cl, 0x2f
je 0x140002891
cmp cl, 0x5f
jne 0x140002b8d
mov eax, 0x3f
jmp 0x14000289d
mov eax, 0x3e
mov r14d, eax
lea rcx, [rsi - 2]
cmp rdx, rcx
jbe 0x140002b81
mov rax, rbx
cmp r8, 0x10
jb 0x1400028b9
mov rax, qword [rbx]
movzx eax, byte [rcx + rax]
lea ecx, [rax - 0x41]
cmp cl, 0x19
ja 0x1400028c9
sub al, 0x41
jmp 0x1400028fb
lea ecx, [rax - 0x61]
cmp cl, 0x19
ja 0x1400028d5
sub al, 0x47
jmp 0x1400028fb
lea ecx, [rax - 0x30]
cmp cl, 9
ja 0x1400028e1
add al, 4
jmp 0x1400028fb
lea ecx, [rax - 0x2b]
test cl, 0xfd
je 0x1400028f9
cmp al, 0x2f
je 0x1400028f5
cmp al, 0x5f
jne 0x140002bae
mov al, 0x3f
jmp 0x1400028fb
mov al, 0x3e
movzx r9d, r14b
shr r9b, 4
and r9b, 3
shl al, 2
add r9b, al
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x14000293a
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14000294a
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.140002d40
cmp rsi, r15
jae 0x140002b12
cmp qword [rbx + 0x10], rsi
jbe 0x140002b81
mov rcx, rbx
mov rax, qword [rbx + 0x18]
cmp rax, 0x10
jb 0x14000296d
mov rcx, qword [rbx]
cmp byte [rsi + rcx], 0x3d
je 0x140002b12
mov rcx, rbx
cmp rax, 0x10
jb 0x140002983
mov rcx, qword [rbx]
cmp byte [rsi + rcx], 0x2e
je 0x140002b12
mov rcx, rbx
cmp rax, 0x10
jb 0x140002999
mov rcx, qword [rbx]
movzx ecx, byte [rsi + rcx]
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x1400029a9
lea edi, [rcx - 0x41]
jmp 0x1400029e2
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1400029b5
lea edi, [rcx - 0x47]
jmp 0x1400029e2
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x1400029c1
lea edi, [rcx + 4]
jmp 0x1400029e2
lea eax, [rcx - 0x2b]
test al, 0xfd
je 0x1400029dd
cmp cl, 0x2f
je 0x1400029d6
cmp cl, 0x5f
jne 0x140002bcf
mov edi, 0x3f
jmp 0x1400029e2
mov edi, 0x3e
shl r14b, 4
mov ecx, edi
shr ecx, 2
xor cl, r14b
and cl, 0xf
xor cl, r14b
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x10]
cmp rdx, r8
jae 0x140002a20
lea rax, [rdx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp r8, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rdx], cl
mov byte [rax + rdx + 1], 0
jmp 0x140002a34
movzx r9d, cl
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.140002d40
lea rax, [rsi + 1]
cmp rax, r15
jae 0x140002b12
cmp qword [rbx + 0x10], rax
jbe 0x140002b81
mov rdx, rbx
mov rcx, qword [rbx + 0x18]
cmp rcx, 0x10
jb 0x140002a5b
mov rdx, qword [rbx]
cmp byte [rax + rdx], 0x3d
je 0x140002b12
mov rdx, rbx
cmp rcx, 0x10
jb 0x140002a71
mov rdx, qword [rbx]
cmp byte [rdx + rax], 0x2e
je 0x140002b12
mov rdx, rbx
cmp rcx, 0x10
jb 0x140002a87
mov rdx, qword [rbx]
movzx ecx, byte [rdx + rax]
lea eax, [rcx - 0x41]
cmp al, 0x19
ja 0x140002a97
sub cl, 0x41
jmp 0x140002aca
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x140002aa3
sub cl, 0x47
jmp 0x140002aca
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140002aaf
add cl, 4
jmp 0x140002aca
lea eax, [rcx - 0x2b]
test al, 0xfd
je 0x140002ac8
cmp cl, 0x2f
je 0x140002ac4
cmp cl, 0x5f
jne 0x140002b60
mov cl, 0x3f
jmp 0x140002aca
mov cl, 0x3e
shl dil, 6
add dil, cl
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x140002afe
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], dil
mov byte [rax + rcx + 1], 0
jmp 0x140002b12
movzx r9d, dil
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.140002d40
add rsi, 4
lea rax, [rsi - 2]
cmp rax, r15
jb 0x140002830
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [r12 + 0x10], xmm1
mov rax, r12
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.14014fd10
mov rbx, qword [rsp + 0xd0]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.Input_is_not_valid_base64_encoded_data.
lea rcx, [rbp - 0x40]
call fcn.140001ff0
lea rdx, [0x1401e8248]
lea rcx, [rbp - 0x40]
call fcn.140151f08
int3
call fcn.140002650
nop
call fcn.14015ee94
nop
lea rdx, str.Input_is_not_valid_base64_encoded_data.
lea rcx, [rbp - 0x60]
call fcn.140001ff0
lea rdx, [0x1401e8248]
lea rcx, [rbp - 0x60]
call fcn.140151f08
int3
lea rdx, str.Input_is_not_valid_base64_encoded_data.
lea rcx, [rbp - 0x60]
call fcn.140001ff0
lea rdx, [0x1401e8248]
lea rcx, [rbp - 0x60]
call fcn.140151f08
int3
lea rdx, str.Input_is_not_valid_base64_encoded_data.
lea rcx, [rbp - 0x60]
call fcn.140001ff0
lea rdx, [0x1401e8248]
lea rcx, [rbp - 0x60]
call fcn.140151f08
int3