Function at 0x140087af0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov qword [rsp + 0x28], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rsi
mov r14, r8
mov r15, rdx
mov rbx, rcx
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rcx + 0x10], r12
cmp qword [rcx + 0x18], 0x10
jb 0x140087b43
mov rax, qword [rcx]
jmp 0x140087b46
mov rax, rbx
mov byte [rax], r12b
mov dword [rsp + 0x20], 1
lea rdx, [r8 + r8]
call fcn.140011c60
mov rsi, r12
test r14, r14
je 0x140087f81
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop dword [rax]
movzx eax, byte [rsi + r15]
shr rax, 2
movzx ebp, byte [rax + r13]
mov r8, qword [rbx + 0x10]
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087f74
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087f67
cmp qword [rbx + 0x18], rdi
jae 0x140087bb3
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087bd0
test rdi, rdi
jne 0x140087bd5
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x140087bc8
mov rax, qword [rbx]
jmp 0x140087bcb
mov rax, rbx
mov byte [rax], 0
jmp 0x140087c03
test rdi, rdi
je 0x140087c03
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087be5
mov rax, qword [rbx]
jmp 0x140087be8
mov rax, rbx
mov byte [rax + rcx], bpl
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140087bfc
mov rax, qword [rbx]
jmp 0x140087bff
mov rax, rbx
mov byte [rax + rdi], 0
movzx ecx, byte [rsi + r15]
and cl, 3
shl cl, 4
inc rsi
cmp rsi, r14
jae 0x140087c22
movzx eax, byte [rsi + r15]
sar al, 4
and al, 0xf
or cl, al
movzx eax, cl
movzx ebp, byte [rax + r13]
mov r8, qword [rbx + 0x10]
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087f5a
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087f4d
cmp qword [rbx + 0x18], rdi
jae 0x140087c5f
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087c7c
test rdi, rdi
jne 0x140087c81
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x140087c74
mov rax, qword [rbx]
jmp 0x140087c77
mov rax, rbx
mov byte [rax], 0
jmp 0x140087caf
test rdi, rdi
je 0x140087caf
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087c91
mov rax, qword [rbx]
jmp 0x140087c94
mov rax, rbx
mov byte [rax + rcx], bpl
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140087ca8
mov rax, qword [rbx]
jmp 0x140087cab
mov rax, rbx
mov byte [rax + rdi], 0
cmp rsi, r14
jae 0x140087d3d
movzx ecx, byte [rsi + r15]
and cl, 0xf
shl cl, 2
inc rsi
cmp rsi, r14
jae 0x140087cd7
movzx eax, byte [rsi + r15]
sar al, 6
and al, 3
or cl, al
movzx eax, cl
movzx ebp, byte [rax + r13]
mov r8, qword [rbx + 0x10]
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087ef2
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087ee5
cmp qword [rbx + 0x18], rdi
jae 0x140087d14
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087d1b
test rdi, rdi
jne 0x140087d24
jmp 0x140087d7a
test rdi, rdi
je 0x140087dc5
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087d34
mov rax, qword [rbx]
jmp 0x140087d37
mov rax, rbx
mov byte [rcx + rax], bpl
jmp 0x140087dae
inc rsi
mov r8, qword [rbx + 0x10]
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087f40
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087f33
cmp qword [rbx + 0x18], rdi
jae 0x140087d75
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087d92
test rdi, rdi
jne 0x140087d97
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x140087d8a
mov rax, qword [rbx]
jmp 0x140087d8d
mov rax, rbx
mov byte [rax], 0
jmp 0x140087dc5
test rdi, rdi
je 0x140087dc5
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087da7
mov rax, qword [rbx]
jmp 0x140087daa
mov rax, rbx
mov byte [rcx + rax], 0x3d
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140087dbe
mov rax, qword [rbx]
jmp 0x140087dc1
mov rax, rbx
mov byte [rdi + rax], 0
mov r8, qword [rbx + 0x10]
cmp rsi, r14
jae 0x140087e53
movsx rax, byte [rsi + r15]
and eax, 0x3f
movzx ebp, byte [rax + r13]
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087f0c
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087eff
cmp qword [rbx + 0x18], rdi
jae 0x140087e10
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087e17
test rdi, rdi
jne 0x140087e20
jmp 0x140087e89
test rdi, rdi
je 0x140087ed4
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087e30
mov rax, qword [rbx]
jmp 0x140087e33
mov rax, rbx
mov byte [rcx + rax], bpl
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140087e47
mov rax, qword [rbx]
jmp 0x140087e4a
mov rax, rbx
mov byte [rdi + rax], 0
jmp 0x140087ed4
mov rax, r8
not rax
cmp rax, 1
jbe 0x140087f26
lea rdi, [r8 + 1]
cmp rdi, 0xfffffffffffffffe
ja 0x140087f19
cmp qword [rbx + 0x18], rdi
jae 0x140087e84
mov rdx, rdi
mov rcx, rbx
call fcn.1400095f0
jmp 0x140087ea1
test rdi, rdi
jne 0x140087ea6
mov qword [rbx + 0x10], r12
cmp qword [rbx + 0x18], 0x10
jb 0x140087e99
mov rax, qword [rbx]
jmp 0x140087e9c
mov rax, rbx
mov byte [rax], 0
jmp 0x140087ed4
test rdi, rdi
je 0x140087ed4
mov rcx, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140087eb6
mov rax, qword [rbx]
jmp 0x140087eb9
mov rax, rbx
mov byte [rcx + rax], 0x3d
mov qword [rbx + 0x10], rdi
cmp qword [rbx + 0x18], 0x10
jb 0x140087ecd
mov rax, qword [rbx]
jmp 0x140087ed0
mov rax, rbx
mov byte [rax + rdi], 0
inc rsi
cmp rsi, r14
jae 0x140087f81
jmp 0x140087b70
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
lea rcx, str.string_too_long
call fcn.14009b264
int3
mov rax, rbx
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret