Function at 0x14017e600
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x410]
sub rsp, 0x510
mov rax, qword [0x1403c6030]
xor rax, rsp
mov qword [rbp + 0x400], rax
mov ebx, r9d
mov r14d, r8d
mov r8, rdx
mov qword [rbp + 0x3f8], rdx
mov r15, rcx
xor r10d, r10d
mov r11, qword [rcx + 0x218]
mov rcx, qword [rcx + 0x220]
sub rcx, r11
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14017e751
mov edi, dword [r8]
xor ecx, ecx
mov r9d, 0x1b24
mov r8d, 0x1606
mov r13d, 0x1b22
mov dword [rsp + 0x40], r13d
mov r12d, 0x5dc
movups xmm1, xmmword [rcx + r11]
movups xmmword [rbp - 0x80], xmm1
movq rsi, xmm1
mov rax, rsi
shr rax, 0x30
cmp eax, edi
jne 0x14017e73e
cmp byte [rbp - 0x78], 0
je 0x14017e73e
cmp si, r9w
je 0x14017e6d7
cmp si, r8w
je 0x14017e6d7
cmp si, r13w
jne 0x14017e73e
mov rax, rsi
shr rax, 0x20
movzx r9d, ax
mov rax, rsi
shr rax, 0x10
movzx r8d, ax
imul eax, r9d, 0x64
add eax, r8d
imul r13, rax, 0x1f8
add r13, qword [r15 + 0xf0]
movzx eax, si
sub ax, word [rsp + 0x40]
mov r11d, 0xfffd
test r11w, ax
mov eax, r12d
mov r11d, 0x1388
cmovne eax, r11d
cmp dword [r13 + 0x18], eax
mov r11, qword [r15 + 0x218]
jl 0x14017e783
mov r8d, 0x1606
mov r9d, 0x1b24
lea r13d, [r9 - 2]
inc r10d
add rcx, 0x18
movsxd rax, r10d
cmp rax, rdx
jb 0x14017e6a2
xor al, al
mov rcx, qword [rbp + 0x400]
xor rcx, rsp
call fcn.1402d0d40
lea r11, [rsp + 0x510]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor eax, eax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
shl r8d, 5
add r8d, 0x10
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
shl r9d, 5
add r9d, 0x10
movd xmm0, r9d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x6c], xmm0
shl r14d, 5
add r14d, 0x10
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
shl ebx, 5
add ebx, 0x10
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x74], xmm0
lea ecx, [rax + 0x38]
call fcn.1402d160c
mov rbx, rax
xor ecx, ecx
mov dword [rax + 8], ecx
mov dword [rax + 0x10], ecx
mov dword [rax + 0x28], ecx
mov dword [rax + 0x34], ecx
mov dword [rax], reloc.WS2_32.dll_send
mov dword [rax + 4], 0xffffffff
mov eax, dword [rsp + 0x54]
mov dword [rbx + 0xc], eax
mov dword [rbx + 0x14], ecx
mov eax, dword [rsp + 0x68]
mov dword [rbx + 0x18], eax
mov eax, dword [rsp + 0x6c]
mov dword [rbx + 0x1c], eax
mov eax, dword [rsp + 0x70]
mov dword [rbx + 0x20], eax
mov eax, dword [rsp + 0x74]
mov dword [rbx + 0x24], eax
mov dword [rbx + 0x2c], edi
mov eax, dword [rsp + 0x60]
mov dword [rbx + 0x30], eax
mov byte [rbx + 3], 6
mov r14, qword [0x1403c79b0]
mov rdi, qword [r14 + 0x28]
imul rax, qword [r14 + 0x30], 0x1c8
add rax, rdi
cmp rdi, rax
jae 0x14017e983
add rdi, 0x30
cmp dword [rdi + 8], 5
jne 0x14017e963
mov rcx, qword [rdi]
test rcx, rcx
je 0x14017e963
lea rdx, [r15 + 0x28]
add rcx, 0x488
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14017e890
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14017e89e
mov rcx, qword [rcx]
cmp r8, rax
jne 0x14017e963
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14017e963
xor ecx, ecx
lea r8d, [rax + 1]
test byte [rbx + 0xc], 8
je 0x14017e912
mov edx, dword [rbx + 0x34]
add edx, 0x3d
call fcn.14000ff40
mov r14, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
movups xmm0, xmmword [rbx]
movups xmmword [rcx + 4], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rcx + 0x14], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x24], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [rcx + 0x34], xmm1
mov r8d, dword [rbx + 0x34]
mov rcx, qword [rax + 0x10]
add rcx, 0x3c
xor edx, edx
call sub.VCRUNTIME140.dll_memcpy
jmp 0x14017e94e
mov edx, 0x3d
call fcn.14000ff40
mov r14, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rax, qword [r14 + 0x10]
movups xmm0, xmmword [rbx]
movups xmmword [rax + 4], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x14], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + 0x24], xmm0
movsd xmm1, qword [rbx + 0x30]
movsd qword [rax + 0x34], xmm1
lea rcx, [rdi - 0x30]
mov r8, r14
xor edx, edx
call fcn.1400101d0
mov r14, qword [0x1403c79b0]
add rdi, 0x1c8
imul rdx, qword [r14 + 0x30], 0x1c8
add rdx, qword [r14 + 0x28]
lea rax, [rdi - 0x30]
cmp rax, rdx
jb 0x14017e861
mov rcx, rbx
call fcn.1402d0d60
mov rcx, qword [rbp + 0x3f8]
mov eax, dword [rcx + 4]
add dword [r13 + 0x18], eax
mov ecx, dword [r13 + 0x18]
mov edx, 0x1b22
sub si, dx
mov edx, 0xfffd
test dx, si
mov edx, 0x1388
cmovne r12d, edx
cmp ecx, r12d
jge 0x14017e9c3
cmp ecx, eax
jne 0x14017ec2e
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
movups xmmword [rsp + 0x58], xmm0
movups xmmword [rsp + 0x68], xmm0
movzx edi, word [rbp - 0x7e]
movzx esi, word [rbp - 0x7c]
mov rdx, r13
mov rcx, r15
call fcn.14008b8e0
movsxd rbx, eax
lea rcx, [rbx + 0x70]
call fcn.1402d160c
mov r14, rax
lea r8, [rbx + 0x70]
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov dword [r14], 5
mov ecx, dword [rsp + 0x48]
mov dword [r14 + 4], ecx
mov dword [r14 + 0xc], 8
mov ecx, dword [rsp + 0x58]
mov dword [r14 + 0x14], ecx
mov ecx, dword [rsp + 0x68]
mov dword [r14 + 0x18], ecx
mov eax, dword [rsp + 0x6c]
mov dword [r14 + 0x1c], eax
mov eax, dword [rsp + 0x70]
mov dword [r14 + 0x20], eax
mov eax, dword [rsp + 0x74]
mov dword [r14 + 0x24], eax
mov dword [r14 + 0x2c], edi
mov dword [r14 + 0x30], esi
lea rax, [r14 + 0x38]
mov qword [rbp + 0x3f8], rax
lea rax, [rbp + 0x190]
mov qword [rsp + 0x40], rax
mov rdx, r15
lea rcx, [rbp + 0x190]
call fcn.140047650
mov rbx, rax
mov rdx, r13
lea rcx, [rbp - 0x68]
call fcn.14008e7d0
nop
mov dword [rsp + 0x38], 0xffffffff
mov dword [rsp + 0x30], 0xffffffff
mov byte [rsp + 0x28], 0
mov byte [rsp + 0x20], 0
xor r9d, r9d
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x3f8]
call fcn.14008b980
mov rdi, qword [0x1403c79b0]
mov rbx, qword [rdi + 0x28]
imul rax, qword [rdi + 0x30], 0x1c8
add rax, rbx
cmp rbx, rax
jae 0x14017ebe3
add rbx, 0x30
cmp dword [rbx + 8], 5
jne 0x14017ebc3
mov rcx, qword [rbx]
test rcx, rcx
je 0x14017ebc3
lea rdx, [r15 + 0x28]
add rcx, 0x488
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x14017eb03
mov rdx, qword [rdx]
mov r8, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0x10
jb 0x14017eb11
mov rcx, qword [rcx]
cmp r8, rax
jne 0x14017ebc3
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14017ebc3
mov rdx, r13
mov rcx, r15
call fcn.14008b8e0
add eax, 0x70
movsxd rsi, eax
add eax, 5
xor ecx, ecx
lea r8d, [rcx + 1]
test byte [r14 + 0xc], 8
je 0x14017eb86
mov edx, dword [r14 + 0x34]
add edx, eax
call fcn.14000ff40
mov rdi, rax
mov rcx, qword [rax + 0x10]
mov dword [rcx], 4
mov rcx, qword [rax + 0x10]
add rcx, 4
mov r8, rsi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
mov r8d, dword [r14 + 0x34]
mov rcx, qword [rdi + 0x10]
add rcx, 4
add rcx, rsi
xor edx, edx
jmp 0x14017eba9
movsxd rdx, eax
call fcn.14000ff40
mov rdi, rax
mov rax, qword [rax + 0x10]
mov dword [rax], 4
mov rcx, qword [rdi + 0x10]
add rcx, 4
mov r8, rsi
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rbx - 0x30]
mov r8, rdi
xor edx, edx
call fcn.1400101d0
mov rdi, qword [0x1403c79b0]
add rbx, 0x1c8
imul rcx, qword [rdi + 0x30], 0x1c8
add rcx, qword [rdi + 0x28]
lea rax, [rbx - 0x30]
cmp rax, rcx
jb 0x14017ead4
mov rcx, r14
call fcn.1402d0d60
cmp byte [r13 + 0xc7], 0
je 0x14017ec2e
lea rax, [rbp + 0x190]
mov qword [rsp + 0x78], rax
mov rdx, r15
lea rcx, [rbp + 0x190]
call fcn.140047650
mov rbx, rax
mov rdx, r13
lea rcx, [rbp - 0x68]
call fcn.14008e7d0
nop
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call fcn.14008d000
mov al, 1
jmp 0x14017e753