Function at 0x1400aa980
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov ebp, r9d
mov r14, r8
mov rbx, rdx
xor edi, edi
mov dword [rsp + 0x24], edi
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rdi
mov qword [rdx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdx], dil
mov dword [rsp + 0x24], 1
mov esi, edi
test r9d, r9d
je 0x1400aacea
mov ecx, edi
nop word [rax + rax]
dec ebp
movzx eax, byte [r14]
lea r14, [r14 + 1]
mov byte [rsp + rcx + 0x70], al
inc esi
inc rcx
movzx edx, byte [rsp + 0x72]
movzx r15d, byte [rsp + 0x71]
movzx r12d, byte [rsp + 0x70]
cmp rcx, 3
jne 0x1400aabad
movzx eax, r12b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x20], cl
movzx esi, r12b
and sil, 3
shl sil, 4
movzx eax, r15b
shr al, 4
add sil, al
movzx r13d, r15b
and r13b, 0xf
shl r13b, 2
movzx eax, dl
shr al, 6
add r13b, al
movzx eax, dl
and al, 0x3f
mov byte [rsp + 0x88], al
lea rax, [0x1404313c8]
cmp qword [0x1404313e0], 0x10
cmovae rax, qword [0x1404313c8]
movzx r9d, byte [rcx + rax]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aaa9b
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aaa90
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400aaaa3
mov rcx, rbx
call fcn.1400a24d0
lea rcx, [0x1404313c8]
cmp qword [0x1404313e0], 0x10
cmovae rcx, qword [0x1404313c8]
movzx eax, sil
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aaaef
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aaae4
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400aaaf7
mov rcx, rbx
call fcn.1400a24d0
lea rcx, [0x1404313c8]
cmp qword [0x1404313e0], 0x10
cmovae rcx, qword [0x1404313c8]
movzx eax, r13b
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aab43
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aab38
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400aab4b
mov rcx, rbx
call fcn.1400a24d0
lea rcx, [0x1404313c8]
cmp qword [0x1404313e0], 0x10
cmovae rcx, qword [0x1404313c8]
movzx eax, byte [rsp + 0x88]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aab9b
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aab90
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400aaba3
mov rcx, rbx
call fcn.1400a24d0
mov esi, edi
mov rcx, rdi
movzx edx, byte [rsp + 0x72]
test ebp, ebp
jne 0x1400aa9e0
test esi, esi
je 0x1400aacea
movsxd rax, esi
cmp rax, 3
jge 0x1400aabeb
jae 0x1400aad05
mov byte [rsp + rax + 0x70], 0
inc rax
cmp rax, 3
jl 0x1400aabc6
movzx edx, byte [rsp + 0x72]
movzx r15d, byte [rsp + 0x71]
movzx r12d, byte [rsp + 0x70]
movzx eax, r12b
shr al, 2
mov byte [rsp + 0x20], al
and r12b, 3
shl r12b, 4
movzx eax, r15b
shr al, 4
add r12b, al
mov byte [rsp + 0x21], r12b
and r15b, 0xf
shl r15b, 2
movzx eax, dl
shr al, 6
add r15b, al
mov byte [rsp + 0x22], r15b
and dl, 0x3f
mov byte [rsp + 0x23], dl
lea eax, [rsi + 1]
movsxd rbp, eax
test eax, eax
jle 0x1400aac9d
nop dword [rax]
nop dword [rax + rax]
lea rcx, [0x1404313c8]
cmp qword [0x1404313e0], 0x10
cmovae rcx, qword [0x1404313c8]
movzx eax, byte [rsp + rdi + 0x20]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aac8d
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aac82
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1400aac95
mov rcx, rbx
call fcn.1400a24d0
inc rdi
cmp rdi, rbp
jl 0x1400aac40
cmp esi, 3
jge 0x1400aacea
mov edi, 3
sub edi, esi
nop dword [rax]
mov rcx, qword [rbx + 0x10]
mov rdx, qword [rbx + 0x18]
cmp rcx, rdx
jae 0x1400aacd9
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp rdx, 0x10
jb 0x1400aacd1
mov rax, qword [rbx]
mov word [rax + rcx], 0x3d
jmp 0x1400aace4
mov r9b, 0x3d
mov rcx, rbx
call fcn.1400a24d0
sub rdi, 1
jne 0x1400aacb0
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402ff2b0
int3