Function at 0x140397c40
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov rdi, rdx
xor r14d, r14d
mov dword [rsp + 0x20], r14d
mov r15d, r14d
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], r14
mov qword [rdx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdx], r14b
mov dword [rsp + 0x20], 1
mov rcx, r8
cmp qword [r8 + 0x18], 0x10
jb 0x140397ca2
mov rcx, qword [r8]
mov rdx, rcx
jmp 0x140397ca5
mov rdx, r8
mov r12, rcx
mov qword [rbp + 0xe0], rcx
mov rax, qword [r8 + 0x10]
add rax, rdx
mov qword [rbp - 0x28], rax
cmp rcx, rax
je 0x1403982e9
movabs rcx, 0x2ade92653828b645
movabs r9, 0xb1a3d20f7fac4cc6
movabs r10, 0x985f27186480e948
movabs r11, 0xa8b58c09d0ea037f
movabs r8, 0x5e7b32c4c59b48a6
movzx ebx, byte [rbp + 0xd8]
nop dword [rax]
shl r15d, 8
movzx eax, byte [r12]
add r15d, eax
mov dword [rbp + 0xd0], r15d
add r14d, 8
cmp r14d, 6
jl 0x140398036
movsxd rax, r15d
mov qword [rbp + 0xe8], rax
movsxd r13, r14d
mov eax, 0xaaaaaaab
mul r14d
shr edx, 2
mov esi, edx
imul eax, edx, 0xfffffffa
add r14d, eax
mov qword [rbp - 0x30], r14
mov r15, qword [rbp + 0xe8]
movabs r12, 0xcc0b35dfe07818d
movabs r14, 0x1de8a7510b1a8775
sub r13, 6
mov qword [rbp + 0xe8], r14
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x30], rax
mov qword [rbp + 0xe8], r9
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x38], rax
mov qword [rbp + 0xe8], r10
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x40], rax
mov qword [rbp + 0xe8], r11
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x48], rax
movabs rax, 0x11155b085aff2bbe
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x50], rax
movabs rax, 0xb3c101494c85e407
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x58], rax
movabs rax, 0x4330a1c68761452e
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x60], rax
movabs rax, 0x28b3b74777d980e1
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x68], rax
mov qword [rbp + 0xe8], r12
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rsp + 0x78], rax
mov qword [rbp + 0xe8], rcx
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x20], rax
movabs rax, 0xd7c6b66c1dcd75fe
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x18], rax
movabs rax, 0xf6324b730ee9812f
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x10], rax
movabs rax, 0xdec0f87aa29b7310
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 8], rax
movabs rax, 0x55561949208653c9
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp], rax
movabs rax, 0xff8a4b0004c2a242
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 8], rax
movabs rax, 0x1763f397d72e0b63
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x10], rax
movabs rax, 0x779eed1e2f8ed6b4
mov qword [rbp + 0xe8], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x18], rax
mov qword [rbp + 0xe8], r12
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x20], rax
mov qword [rbp + 0xe8], r8
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x28], rax
movdqa xmm0, xmmword [rsp + 0x30]
pxor xmm0, xmmword [rbp - 0x20]
movdqa xmmword [rsp + 0x30], xmm0
movdqa xmm1, xmmword [rsp + 0x40]
pxor xmm1, xmmword [rbp - 0x10]
movdqa xmmword [rsp + 0x40], xmm1
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [rbp]
movdqa xmmword [rsp + 0x50], xmm0
movdqa xmm1, xmmword [rsp + 0x60]
pxor xmm1, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x60], xmm1
movdqa xmm0, xmmword [rsp + 0x70]
pxor xmm0, xmmword [rbp + 0x20]
movdqa xmmword [rsp + 0x70], xmm0
mov rax, r15
mov rcx, r13
sar rax, cl
and eax, 0x3f
movzx r9d, byte [rsp + rax + 0x30]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x140397fd7
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x140397fcc
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140398006
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.14035d130
movabs r8, 0x5e7b32c4c59b48a6
movabs r10, 0x985f27186480e948
movabs r11, 0xa8b58c09d0ea037f
sub rsi, 1
movabs rcx, 0x2ade92653828b645
movabs r9, 0xb1a3d20f7fac4cc6
jne 0x140397d60
mov r14, qword [rbp - 0x30]
mov r15d, dword [rbp + 0xd0]
mov r12, qword [rbp + 0xe0]
inc r12
mov qword [rbp + 0xe0], r12
cmp r12, qword [rbp - 0x28]
jne 0x140397d00
test r14d, r14d
jle 0x1403982e9
movabs rax, 0x1de8a7510b1a8775
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0xd0], r9
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x78], rax
mov qword [rbp + 0xd0], r10
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x70], rax
mov qword [rbp + 0xd0], r11
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x68], rax
movabs rax, 0x11155b085aff2bbe
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x60], rax
movabs rax, 0xb3c101494c85e407
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x58], rax
movabs rax, 0x4330a1c68761452e
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x50], rax
movabs rax, 0x28b3b74777d980e1
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x48], rax
movabs rcx, 0xcc0b35dfe07818d
mov qword [rbp + 0xd0], rcx
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x40], rax
mov qword [rbp + 0xd0], r8
mov rax, qword [rbp + 0xd0]
mov qword [rbp - 0x38], rax
movabs rax, 0x2ade92653828b645
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x30], rax
movabs rax, 0xd7c6b66c1dcd75fe
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x38], rax
movabs rax, 0xf6324b730ee9812f
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x40], rax
movabs rax, 0xdec0f87aa29b7310
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x48], rax
movabs rax, 0x55561949208653c9
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x50], rax
movabs rax, 0xff8a4b0004c2a242
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x58], rax
movabs rax, 0x1763f397d72e0b63
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x60], rax
movabs rax, 0x779eed1e2f8ed6b4
mov qword [rbp + 0xd0], rax
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x68], rax
mov qword [rbp + 0xd0], rcx
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0xd0], r8
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0x78], rax
movdqa xmm0, xmmword [rbp - 0x80]
pxor xmm0, xmmword [rbp + 0x30]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmm1, xmmword [rbp - 0x70]
pxor xmm1, xmmword [rbp + 0x40]
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmm0, xmmword [rbp - 0x60]
pxor xmm0, xmmword [rbp + 0x50]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmm1, xmmword [rbp - 0x50]
pxor xmm1, xmmword [rbp + 0x60]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmm0, xmmword [rbp - 0x40]
pxor xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp - 0x40], xmm0
mov ecx, 6
sub ecx, r14d
mov eax, r15d
shl eax, cl
and eax, 0x3f
movzx r9d, byte [rbp + rax - 0x80]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x1403982d4
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x1403982c9
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1403982e9
movzx r8d, byte [rbp + 0xd8]
mov edx, 1
mov rcx, rdi
call fcn.14035d130
mov rcx, qword [rdi + 0x10]
test cl, 3
je 0x140398342
movzx ebx, byte [rbp + 0xd8]
nop dword [rax]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x140398325
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14039831d
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x140398339
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.14035d130
mov rcx, qword [rdi + 0x10]
test cl, 3
jne 0x140398300
mov rax, rdi
add rsp, 0x188
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret