Function at 0x140084bba
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rdi, rdx
mov rsi, rcx
mov r10, qword [rcx]
mov rax, qword [rcx + 8]
sub rax, r10
mov rcx, qword [0x1402add00]
mov rdx, qword [0x1402add08]
shrd rdx, rcx, 3
movabs rcx, 0x321aaf9b2ad8746c
xor rcx, rdx
cqo
idiv rcx
mov r9, rax
movabs rax, 0x5373c2893be635f2
imul rax, qword [0x1402add10]
movabs rcx, 0x5a05210913665e3f
imul rcx, qword [0x1402add18]
add rcx, rax
movabs r11, 0x966c44eb23c661d6
add r11, rcx
mov rax, qword [rsi + 0x10]
mov rcx, qword [0x1402add20]
mov rdx, qword [0x1402add28]
shrd rdx, rcx, 0x22
sub rax, r10
movabs rcx, 0xaa091ca8975ec74b
xor rcx, rdx
cqo
idiv rcx
mov rcx, qword [0x1402add30]
shr rcx, 0x2b
xor cl, 0x50
mov rdx, rax
shr rdx, cl
add r11, r9
movabs rcx, 0x83a50a1e7d5d990a
imul rcx, qword [0x1402add38]
movabs r9, 0xb727f7405914f28e
imul r9, qword [0x1402add40]
add r9, rcx
sub r9, rdx
movabs rcx, 0xe8025e1eb630dd8a
add rcx, r9
add rdx, rax
cmp rdx, r11
cmovbe rdx, r11
mov r12, r8
mov r8, qword [0x1402add48]
mov r9, qword [0x1402add50]
shrd r9, r8, 0x14
movabs r8, 0x56ef877f04dea3d
xor r8, r9
cmp rax, rcx
cmovbe r8, rdx
mov rax, qword [0x1402add58]
mov rcx, qword [0x1402add60]
shrd rcx, rax, 0x19
movabs rax, 0xd07969322b78622e
xor rax, rcx
cmp r8, rax
ja 0x14008541a
mov r13, rdi
sub r13, r10
movabs rax, 0xd8d54254053e3861
imul rax, qword [0x1402add68]
movabs rcx, 0x904842cd95716ab3
imul rcx, qword [0x1402add70]
add rcx, rax
movabs rax, 0xcbbf7616ecbe72ad
add rax, rcx
mov rcx, rax
imul rcx, r8
movabs rax, 0x676a1125469afc05
imul rax, qword [0x1402add78]
movabs rdx, 0xbd669ce326b27298
imul rdx, qword [0x1402add80]
add rdx, rax
movabs rax, 0x5e5c5b499e383e2e
add rax, rdx
cmp r8, rax
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x38], r8
jbe 0x140084d98
call fcn.1400031b3
jmp 0x140084dc6
mov rax, qword [0x1402add88]
mov rdx, qword [0x1402add90]
shrd rdx, rax, 8
movabs rax, 0x203298aa62ce87ac
xor rax, rdx
cmp r8, rax
jne 0x140084dc1
xor edx, edx
jmp 0x140084dc9
call fcn.1400d87f8
mov rdx, rax
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0xc]
movups xmmword [rdx + r13 + 0xc], xmm1
movups xmmword [rdx + r13], xmm0
xor eax, eax
mov qword [rdx + r13 + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rdx + r13 + 0x30], xmm0
movups xmm1, xmmword [r12 + 0x20]
movups xmm2, xmmword [r12 + 0x30]
movups xmmword [rdx + r13 + 0x20], xmm1
movups xmmword [rdx + r13 + 0x30], xmm2
mov rcx, qword [0x1402add98]
mov r8, qword [0x1402adda0]
shrd r8, rcx, 0x2d
movabs rcx, 0x79ac7c6a800ff788
xor rcx, r8
mov qword [r12 + 0x30], rcx
movabs rcx, 0xacc2ca276e782b97
imul rcx, qword [0x1402adda8]
movabs r8, 0x948738586b3c63c4
imul r8, qword [0x1402addb0]
add r8, rcx
movabs rcx, 0x46c7417d3eecf6e8
add rcx, r8
mov qword [r12 + 0x38], rcx
mov cl, byte [0x1402addb8]
mov r8b, byte [0x1402addb9]
shr r8b, 3
shl cl, 5
or cl, r8b
xor cl, 0x85
mov byte [r12 + 0x20], cl
mov qword [rdx + r13 + 0x40], rax
movups xmmword [rdx + r13 + 0x50], xmm0
movups xmm0, xmmword [r12 + 0x40]
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rdx + r13 + 0x50], xmm1
movups xmmword [rdx + r13 + 0x40], xmm0
movabs rax, 0x4981e7c0f973e39e
imul rax, qword [0x1402addc0]
movabs rcx, 0x321f634b91910047
imul rcx, qword [0x1402addc8]
lea r8, [rdx + r13]
mov qword [rsp + 0x30], r8
add rcx, rax
movabs rax, 0xe9ff66889dc605a8
add rax, rcx
mov qword [r12 + 0x50], rax
movabs rax, 0x1422bd114c52d065
imul rax, qword [0x1402addd0]
movabs rcx, 0x87f97ab9d297bf6e
imul rcx, qword [0x1402addd8]
add rcx, rax
movabs rax, 0x780acf4faf484f99
add rax, rcx
mov qword [r12 + 0x58], rax
movzx eax, byte [0x1402adde0]
movzx ecx, byte [0x1402adde1]
imul eax, eax, 0xffffffe4
shl ecx, 2
lea ecx, [rcx + rcx*2]
neg ecx
add cl, al
add cl, 0x44
mov byte [r12 + 0x40], cl
mov rax, qword [rsi]
mov rcx, qword [rsi + 8]
cmp rcx, rdi
mov qword [rsp + 0x28], rsi
je 0x14008525a
cmp rax, rdi
je 0x1400850cb
xorps xmm0, xmm0
movabs rcx, 0x8ba68d23a781f724
movabs r8, 0x9cafeb26106727c0
movabs r9, 0xc405fd4a93463ae4
movabs r10, 0x7f9b1cb2ef7786a
movabs r11, 0xe882c83b6d276ddc
movabs rbx, 0xb77a2461edd8e64e
xor r14d, r14d
lea rsi, [rax + r14]
add rsi, 0x60
movups xmm1, xmmword [rsi - 0x60]
movups xmm2, xmmword [rsi - 0x54]
movups xmmword [rdx + r14 + 0xc], xmm2
movups xmmword [rdx + r14], xmm1
xor r15d, r15d
mov qword [rdx + r14 + 0x20], r15
movups xmmword [rdx + r14 + 0x30], xmm0
movups xmm1, xmmword [rsi - 0x40]
movups xmm2, xmmword [rsi - 0x30]
movups xmmword [rdx + r14 + 0x30], xmm2
movups xmmword [rdx + r14 + 0x20], xmm1
mov r12, qword [0x1402ade38]
mov rbp, qword [0x1402ade40]
shrd rbp, r12, 0x2f
xor rbp, rcx
mov qword [rsi - 0x30], rbp
mov r12, qword [0x1402ade48]
mov rbp, qword [0x1402ade50]
shrd rbp, r12, 0x3f
xor rbp, r8
mov qword [rsi - 0x28], rbp
mov bpl, byte [0x1402ade58]
mov r12b, byte [0x1402ade59]
shr r12b, 2
shl bpl, 6
or bpl, r12b
xor bpl, 0xe5
mov byte [rsi - 0x40], bpl
mov qword [rdx + r14 + 0x40], r15
movups xmmword [rdx + r14 + 0x50], xmm0
movups xmm1, xmmword [rsi - 0x20]
movups xmm2, xmmword [rsi - 0x10]
movups xmmword [rdx + r14 + 0x50], xmm2
movups xmmword [rdx + r14 + 0x40], xmm1
mov r15, qword [0x1402ade60]
imul r15, r9
mov r12, qword [0x1402ade68]
imul r12, r10
add r12, r15
add r12, r11
mov qword [rsi - 0x10], r12
mov r15, qword [0x1402ade70]
mov r12, qword [0x1402ade78]
shrd r12, r15, 0x14
xor r12, rbx
mov qword [rsi - 8], r12
movzx ebp, byte [reloc.WS2_32.dll_WSASetLastError]
movzx r15d, byte [0x1402ade81]
imul ebp, ebp, 0x32
lea r15d, [r15 + r15*8]
lea r15d, [r15 + r15*4]
add r15b, bpl
add r15b, 0xad
mov byte [rsi - 0x20], r15b
add r14, 0x60
cmp rsi, rdi
jne 0x140084fa5
mov rax, qword [rsp + 0x28]
mov rcx, qword [rax + 8]
cmp rcx, rdi
je 0x1400853f0
mov rax, rcx
lea rcx, [rdx + r13]
add rcx, 0xb0
xorps xmm0, xmm0
movabs r11, 0x7283b74acae7281f
movabs rbx, 0xbf1f70bb636eaf6e
movabs r15, 0x9b2864688bec00a8
movabs r12, 0xfb64effd7de876bb
movabs r13, 0xbb00c39fb297aa9d
xor r14d, r14d
movabs r10, 0x7ca6c56449c54556
lea rsi, [rdi + r14]
add rsi, 0x60
movups xmm1, xmmword [rsi - 0x60]
movups xmm2, xmmword [rsi - 0x54]
movups xmmword [rcx + r14 - 0x44], xmm2
movups xmmword [rcx + r14 - 0x50], xmm1
xor ebp, ebp
mov qword [rcx + r14 - 0x30], rbp
movups xmmword [rcx + r14 - 0x20], xmm0
movups xmm1, xmmword [rsi - 0x40]
movups xmm2, xmmword [rsi - 0x30]
movups xmmword [rcx + r14 - 0x20], xmm2
movups xmmword [rcx + r14 - 0x30], xmm1
mov r8, qword [0x1402ade88]
movabs r9, 0xef683ceb3dbbc824
imul r8, r9
mov r9, qword [0x1402ade90]
imul r9, r10
add r9, r8
movabs r8, 0x141910fb514916c
add r9, r8
mov qword [rsi - 0x30], r9
mov r8, qword [0x1402ade98]
mov r9, qword [0x1402adea0]
shrd r9, r8, 6
xor r9, r11
mov qword [rsi - 0x28], r9
mov r8b, byte [0x1402adea8]
mov r9b, byte [0x1402adea9]
shr r9b, 5
shl r8b, 3
or r8b, r9b
xor r8b, 0x31
mov byte [rsi - 0x40], r8b
mov qword [rcx + r14 - 0x10], rbp
movups xmmword [rcx + r14], xmm0
movups xmm1, xmmword [rsi - 0x20]
movups xmm2, xmmword [rsi - 0x10]
movups xmmword [rcx + r14], xmm2
movups xmmword [rcx + r14 - 0x10], xmm1
mov r8, qword [0x1402adeb0]
mov r9, qword [0x1402adeb8]
shrd r9, r8, 0x1c
xor r9, rbx
mov qword [rsi - 0x10], r9
mov r8, qword [0x1402adec0]
imul r8, r15
mov r9, qword [0x1402adec8]
imul r9, r12
add r9, r8
add r9, r13
mov qword [rsi - 8], r9
mov r8b, byte [0x1402aded0]
mov r9b, byte [0x1402aded1]
shr r9b, 6
shl r8b, 2
or r8b, r9b
xor r8b, 0xdf
mov byte [rsi - 0x20], r8b
add r14, 0x60
cmp rsi, rax
jne 0x140085124
jmp 0x1400853f0
cmp rax, rdi
je 0x1400853f0
xorps xmm0, xmm0
movabs r11, 0x152a74b1872f0628
movabs r12, 0x1a3e8f9bdeeefc69
movabs r13, 0x8b249cf043046f7b
movabs rbp, 0xe198cc51f7a7780e
movabs r15, 0x582b7f6e51644009
movabs rbx, 0x33637b040e0dd953
xor r14d, r14d
movabs r10, 0x6e067d0bf32456c1
lea rsi, [rax + r14]
add rsi, 0x60
movups xmm1, xmmword [rsi - 0x60]
movups xmm2, xmmword [rsi - 0x54]
movups xmmword [rdx + r14 + 0xc], xmm2
movups xmmword [rdx + r14], xmm1
xor ecx, ecx
mov qword [rdx + r14 + 0x20], rcx
movups xmmword [rdx + r14 + 0x30], xmm0
movups xmm1, xmmword [rsi - 0x40]
movups xmm2, xmmword [rsi - 0x30]
movups xmmword [rdx + r14 + 0x30], xmm2
movups xmmword [rdx + r14 + 0x20], xmm1
mov r8, qword [0x1402adde8]
mov r9, qword [0x1402addf0]
shrd r9, r8, 0x1e
movabs r8, 0x573f492cc31ea9f
xor r9, r8
mov qword [rsi - 0x30], r9
mov r8, qword [0x1402addf8]
movabs r9, 0xca5187c8164df9ec
imul r8, r9
mov r9, qword [0x1402ade00]
imul r9, r10
add r9, r8
movabs r8, 0xefc6a7215a8d1079
add r9, r8
mov qword [rsi - 0x28], r9
mov r8b, byte [0x1402ade08]
mov r9b, byte [0x1402ade09]
shr r9b, 7
add r8b, r8b
or r8b, r9b
xor r8b, 0x94
mov byte [rsi - 0x40], r8b
mov qword [rdx + r14 + 0x40], rcx
movups xmmword [rdx + r14 + 0x50], xmm0
movups xmm1, xmmword [rsi - 0x20]
movups xmm2, xmmword [rsi - 0x10]
movups xmmword [rdx + r14 + 0x50], xmm2
movups xmmword [rdx + r14 + 0x40], xmm1
mov rcx, qword [0x1402ade10]
imul rcx, r11
mov r8, qword [0x1402ade18]
imul r8, r12
add r8, rcx
add r8, r13
mov qword [rsi - 0x10], r8
mov rcx, qword [0x1402ade20]
imul rcx, rbp
mov r8, qword [0x1402ade28]
imul r8, r15
add r8, rcx
add r8, rbx
mov qword [rsi - 8], r8
movzx ecx, byte [0x1402ade30]
imul ecx, ecx, 0xffffffb1
movzx r8d, byte [reloc.WS2_32.dll_closesocket]
imul r8d, r8d, 0x3d
add r8b, cl
add r8b, 0x5e
mov byte [rsi - 0x20], r8b
add r14, 0x60
cmp rsi, rdi
jne 0x1400852af
mov rcx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0x38]
call fcn.140085420
mov rax, qword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.14000327e
int3