Function at 0x1401f8730
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movabs rsi, 0xfffffffffffff
movq r12, xmm0
mov rax, r12
and rax, rsi
mov rcx, r12
shr rcx, 0x34
test r12, r12
js 0x1401f8771
xor r8d, r8d
and ecx, 0x7ff
test rax, rax
je 0x1401f8785
jmp 0x1401f87a3
mov byte [rdx], 0x2d
mov r8d, 1
and ecx, 0x7ff
test rax, rax
jne 0x1401f87a3
test ecx, ecx
jne 0x1401f87a3
mov byte [rdx + r8 + 2], 0x30
mov word [rdx + r8], 0x2e30
shr r12, 0x3f
add r12, 3
jmp 0x1401f9099
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
inc rsi
or rsi, rax
test ecx, ecx
cmove rsi, rax
lea edx, [rcx - 0x435]
mov edi, 0xfffffbcc
cmovne edi, edx
lea r11, [rsi*4]
test rax, rax
setne al
cmp ecx, 2
setb r13b
or r13b, al
movzx ebx, r13b
test edi, edi
js 0x1401f8923
mov qword [rsp + 0x30], rsi
imul esi, edi, 0x13441
shr esi, 0x12
cmp edi, 4
adc esi, 0xffffffff
imul r9d, esi, 0x12934f
shr r9d, 0x13
mov rax, rsi
shl rax, 4
lea rcx, [0x1402f40c0]
mov r12, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
mov r14, r11
or r14, 2
mov rax, r12
mul r14
mov rcx, rdx
mov rax, r8
mul r14
mov r10, rdx
mov r15, rax
add r15, rcx
adc r10, 0
mov ecx, esi
sub ecx, edi
add ecx, r9d
add cl, 0x3d
shrd r15, r10, cl
shr r10, cl
mov r9, rbx
not r9
add r9, r11
mov rax, r12
mul r9
mov rbp, rdx
mov rax, r8
mul r9
mov r9, rdx
mov r13, rax
add r13, rbp
adc r9, 0
shrd r13, r9, cl
shr r9, cl
mov rax, r12
mul r11
mov r12, rdx
mov rax, r8
mul r11
mov r8, rdx
add rax, r12
adc r8, 0
shrd rax, r8, cl
shr r8, cl
test cl, 0x40
cmove r10, r15
cmove r9, r13
cmove r8, rax
cmp esi, 0x16
mov qword [rsp + 0x28], rsi
jae 0x1401f8abd
movabs rcx, 0x3333333333333334
mov rax, r11
mul rcx
lea eax, [rdx + rdx*4]
cmp eax, r11d
jne 0x1401f8a24
mov ecx, 0xffffffff
movabs rdi, 0xcccccccccccccccd
nop dword [rax]
mov rax, r11
mul rdi
shr rdx, 2
lea eax, [rdx + rdx*4]
inc ecx
cmp eax, r11d
mov r11, rdx
je 0x1401f88f0
cmp ecx, esi
setae bpl
xor r13d, r13d
mov rsi, qword [rsp + 0x30]
test r13b, r13b
je 0x1401f8acc
jmp 0x1401f8b30
mov eax, edi
neg eax
imul ebp, edi, 0xfff4d105
shr ebp, 0x14
cmp eax, 2
adc ebp, 0xffffffff
add edi, ebp
sub eax, ebp
imul r9d, eax, 0x12934f
shr r9d, 0x13
cdqe
shl rax, 4
lea rcx, [0x1402f5620]
mov r15, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
mov r10, r11
or r10, 2
mov rax, r15
mul r10
mov rcx, rdx
mov rax, r8
mul r10
mov r10, rdx
mov r14, rax
add r14, rcx
adc r10, 0
mov ecx, ebp
sub ecx, r9d
add cl, 0x3c
shrd r14, r10, cl
shr r10, cl
not rbx
add rbx, r11
mov rax, r15
mul rbx
mov r12, rdx
mov rax, r8
mul rbx
mov r9, rdx
mov rbx, rax
add rbx, r12
adc r9, 0
shrd rbx, r9, cl
shr r9, cl
mov rax, r15
mul r11
mov r15, rdx
mov rax, r8
mul r11
mov r8, rdx
add rax, r15
adc r8, 0
shrd rax, r8, cl
shr r8, cl
test cl, 0x40
cmove r10, r14
cmove r9, rbx
cmove r8, rax
cmp ebp, 2
jae 0x1401f8a07
mov eax, esi
and eax, 1
sete cl
and r13b, cl
sub r10, rax
mov bpl, 1
mov eax, edi
mov qword [rsp + 0x28], rax
jmp 0x1401f8b30
cmp ebp, 0x3f
jae 0x1401f8a6d
mov rax, 0xffffffffffffffff
mov ecx, ebp
shl rax, cl
not rax
test r11, rax
sete bpl
jmp 0x1401f8a6f
test byte [rsp + 0x30], 1
jne 0x1401f8a83
not rbx
add rbx, r11
mov ecx, 0xffffffff
movabs r11, 0xcccccccccccccccd
mov rax, rbx
mul r11
shr rdx, 2
lea eax, [rdx + rdx*4]
inc ecx
cmp eax, ebx
mov rbx, rdx
je 0x1401f8a40
cmp ecx, esi
setae r13b
xor ebp, ebp
mov rsi, qword [rsp + 0x30]
test r13b, r13b
je 0x1401f8acc
jmp 0x1401f8b30
xor ebp, ebp
xor r13d, r13d
mov eax, edi
mov qword [rsp + 0x28], rax
test r13b, r13b
je 0x1401f8acc
jmp 0x1401f8b30
mov ecx, 0xffffffff
movabs r11, 0xcccccccccccccccd
nop word cs:[rax + rax]
mov rax, r14
mul r11
shr rdx, 2
lea eax, [rdx + rdx*4]
inc ecx
cmp eax, r14d
mov r14, rdx
je 0x1401f8aa0
cmp ecx, esi
adc r10, 0xffffffffffffffff
xor ebp, ebp
xor r13d, r13d
mov rsi, qword [rsp + 0x30]
test r13b, r13b
jne 0x1401f8b30
test bpl, bpl
jne 0x1401f8b30
mov rax, r10
shr rax, 2
movabs rsi, 0x28f5c28f5c28f5c3
mul rsi
mov r11, rdx
shr r11, 2
mov rax, r9
shr rax, 2
mul rsi
mov rcx, rdx
shr rcx, 2
xor ebx, ebx
cmp r11, rcx
jbe 0x1401f8c7e
mov rax, r8
shr rax, 2
mul rsi
shr rdx, 2
imul eax, edx, 0xffffff9c
add eax, r8d
cmp eax, 0x32
setae r10b
mov ebx, 2
mov r8, rdx
jmp 0x1401f8c87
movabs r14, 0xcccccccccccccccd
mov rax, r10
mul r14
mov r11, rdx
shr r11, 3
mov rax, r9
mul r14
shr rdx, 3
xor edi, edi
xor ebx, ebx
cmp r11, rdx
jbe 0x1401f8bc2
xor r15d, r15d
nop dword [rax]
mov rcx, rdx
lea edi, [rdx + rdx]
mov rax, r8
mul r14
mov r10, rdx
lea eax, [rdi + rdi*4]
shr r10, 3
lea edx, [r10 + r10]
lea edi, [rdx + rdx*4]
neg edi
add dil, r8b
cmp eax, r9d
sete al
and r13b, al
test r15b, r15b
sete al
and bpl, al
mov rax, r11
mul r14
inc ebx
mov r11, rdx
shr r11, 3
mov rax, rcx
mul r14
shr rdx, 3
mov r8, r10
mov r9, rcx
mov r15d, edi
cmp r11, rdx
ja 0x1401f8b60
test r13b, r13b
jne 0x1401f8bcd
jmp 0x1401f8c39
mov rcx, r9
mov r10, r8
test r13b, r13b
je 0x1401f8c39
mov rax, rcx
mul r14
mov r9, rdx
shr r9, 3
lea eax, [r9 + r9]
lea eax, [rax + rax*4]
cmp eax, ecx
jne 0x1401f8c39
nop word cs:[rax + rax]
mov rax, r10
mul r14
mov r8, rdx
shr r8, 3
lea eax, [r8 + r8]
lea r11d, [rax + rax*4]
neg r11d
add r11b, r10b
test dil, dil
sete al
and bpl, al
inc ebx
mov rax, r9
mul r14
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov rcx, r9
mov r10, r8
mov edi, r11d
cmp eax, r9d
mov r9, rdx
je 0x1401f8bf0
jmp 0x1401f8c3f
mov r11d, edi
mov r8, r10
cmp r11b, 5
setne dl
not bpl
setae r9b
cmp r8, rcx
not r13b
sete al
or r13b, sil
and r13b, al
mov eax, r8d
or al, bpl
or al, dl
and al, r9b
or al, r13b
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x28]
jmp 0x1401f8d0c
mov rcx, r9
mov r11, r10
xor r10d, r10d
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x28]
movabs rsi, 0xcccccccccccccccd
mov rax, r11
mul rsi
mov r9, rdx
mov rax, rcx
mul rsi
shr r9, 3
shr rdx, 3
cmp r9, rdx
jbe 0x1401f8d03
nop dword [rax]
mov r10, r8
mov rcx, rdx
mov rax, r8
mul rsi
mov r8, rdx
shr r8, 3
inc ebx
mov rax, r9
mul rsi
mov r9, rdx
mov rax, rcx
mul rsi
shr r9, 3
shr rdx, 3
cmp r9, rdx
ja 0x1401f8cc0
lea eax, [r8 + r8]
lea eax, [rax + rax*4]
sub r10d, eax
cmp r10d, 5
setae r10b
cmp r8, rcx
sete al
or al, r10b
add ebp, ebx
movzx ebx, al
add rbx, r8
mov eax, setsockopt
movabs rcx, 0x2386f26fc0ffff
cmp rbx, rcx
ja 0x1401f8e35
mov eax, reloc.WS2_32.dll_recv
movabs rcx, 0x38d7ea4c67fff
cmp rbx, rcx
ja 0x1401f8e35
mov eax, recv
movabs rcx, 0x5af3107a3fff
cmp rbx, rcx
ja 0x1401f8e35
mov rcx, rbx
shr rcx, 0xd
mov eax, recv
cmp rcx, 0x48c27394
ja 0x1401f8e35
mov rcx, rbx
shr rcx, 0xc
mov eax, recv
cmp rcx, 0xe8d4a50
ja 0x1401f8e35
mov rcx, rbx
shr rcx, 0xb
mov eax, recv
cmp rcx, 0x2e90edc
ja 0x1401f8e35
mov rcx, rbx
shr rcx, 0xa
mov eax, 0xb
cmp rcx, 0x9502f8
ja 0x1401f8e35
mov eax, 0xa
cmp rbx, 0x3b9ac9ff
ja 0x1401f8e35
mov eax, 9
cmp rbx, 0x5f5e0ff
ja 0x1401f8e35
mov eax, 8
cmp rbx, 0x98967f
ja 0x1401f8e35
mov eax, 7
cmp rbx, 0xf423f
ja 0x1401f8e35
mov eax, 6
cmp rbx, 0x1869f
ja 0x1401f8e35
mov eax, 5
cmp rbx, 0x270f
ja 0x1401f8e35
mov eax, 4
cmp rbx, 0x3e7
ja 0x1401f8e35
mov eax, 3
cmp rbx, 0x63
ja 0x1401f8e35
cmp rbx, 0xa
mov eax, 1
sbb eax, 0xffffffff
mov edi, eax
movsxd rax, ebp
lea r14, [rdi + rax]
test eax, eax
js 0x1401f8e8e
cmp r14, 0x11
jge 0x1401f8e8e
lea r15, [r12 + rdi]
add r15, r13
mov rcx, rbx
mov rdx, r15
call fcn.1401f85a0
test ebp, ebp
je 0x1401f8e76
lea r8, [rdi + 1]
cmp r14, r8
cmovg r8, r14
sub r8, rdi
mov rcx, r15
mov dl, 0x30
call fcn.140229f20
lea rax, [r14 + r12]
mov word [r13 + rax], 0x302e
add r12, r14
add r12, 2
jmp 0x1401f9099
lea rsi, [r14 - 1]
cmp rsi, 0x10
jae 0x1401f8ecc
lea rsi, [r12 + rdi]
inc rsi
lea rdx, [rsi + r13]
mov rcx, rbx
call fcn.1401f85a0
lea rdx, [r12 + r13]
inc rdx
lea rcx, [r12 + r13]
mov r8, r14
call fcn.140229790
add r14, r12
mov byte [r13 + r14], 0x2e
jmp 0x1401f9096
lea rax, [r14 + 4]
cmp rax, 5
jae 0x1401f8f25
mov word [r13 + r12], 0x2e30
mov esi, 2
sub rsi, r14
test r14, r14
jns 0x1401f8f0c
lea rcx, [r12 + r13]
add rcx, 2
cmp rsi, 4
mov r8d, 3
cmovge r8, rsi
add r8, 0xfffffffffffffffe
mov dl, 0x30
call fcn.140229f20
add r12, rdi
add r12, rsi
add r13, r12
mov rcx, rbx
mov rdx, r13
call fcn.1401f85a0
jmp 0x1401f9099
cmp edi, 1
jne 0x1401f8f4a
add bl, 0x30
mov byte [r13 + r12], bl
mov byte [r13 + r12 + 1], 0x65
lea rax, [r12 + r13]
add rax, 2
test r14, r14
jle 0x1401f8f8d
mov rcx, rsi
jmp 0x1401f8f9b
lea r15, [r12 + rdi]
lea rdx, [r15 + r13]
inc rdx
mov rcx, rbx
call fcn.1401f85a0
movzx eax, byte [r13 + r12 + 1]
mov byte [r13 + r12], al
mov byte [r13 + r12 + 1], 0x2e
mov byte [r13 + r15 + 1], 0x65
lea rax, [r15 + r13]
add rax, 2
test r14, r14
jle 0x1401f9005
mov rdx, rsi
jmp 0x1401f9013
mov byte [rax], 0x2d
inc rax
mov ecx, 1
sub rcx, r14
or r12, 2
cmp rcx, 0x63
jbe 0x1401f8fdd
mov edx, ecx
imul rdx, rdx, 0x51eb851f
shr rdx, 0x25
lea r8d, [rdx + 0x30]
mov byte [rax], r8b
imul edx, edx, 0x64
sub ecx, edx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899boolean___
movzx ecx, word [rdx + rcx*2]
mov word [rax + 1], cx
shr rsi, 0x3f
add rsi, 3
add r12, rsi
jmp 0x1401f9099
cmp rcx, 9
jbe 0x1401f9076
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899boolean___
movzx ecx, word [rdx + rcx*2]
mov word [rax], cx
shr rsi, 0x3f
or rsi, 2
add r12, rsi
jmp 0x1401f9099
mov byte [rax], 0x2d
inc rax
mov edx, 1
sub rdx, r14
lea rcx, [r12 + rdi]
add rcx, 2
cmp rdx, 0x63
jbe 0x1401f9057
mov r8d, edx
imul r8, r8, 0x51eb851f
shr r8, 0x25
lea r9d, [r8 + 0x30]
mov byte [rax], r9b
imul r8d, r8d, 0x64
sub edx, r8d
lea r8, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899boolean___
movzx edx, word [r8 + rdx*2]
mov word [rax + 1], dx
shr rsi, 0x3f
add rsi, 3
jmp 0x1401f9093
cmp rdx, 9
jbe 0x1401f9087
lea r8, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899boolean___
movzx edx, word [r8 + rdx*2]
mov word [rax], dx
shr rsi, 0x3f
or rsi, 2
jmp 0x1401f9093
add cl, 0x30
mov byte [rax], cl
shr rsi, 0x3f
inc rsi
add r12, rsi
jmp 0x1401f9099
add dl, 0x30
mov byte [rax], dl
shr rsi, 0x3f
inc rsi
add rsi, rcx
mov r12, rsi
mov rax, r12
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret