Function at 0x1400ec510
Capabilities:
Encode data using base64
Hash data using sha1

Disassembly:
push rbp
push r14
lea rbp, [rsp - 0x78]
sub rsp, 0x178
mov rax, qword [0x14021d798]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov rax, qword [str.258EAFA5_E914_47DA_95CA_C5AB0DC85B11]
lea r8, [rbp - 0x10]
mov qword [rsp + 0x30], rax
mov r9d, 0x64
mov qword [rsp + 0x28], rdx
lea rax, [0x1401ba358]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r14, rcx
call fcn.1400e46d0
cmp dword [rsp + 0x40], 0
je 0x1400ec57b
mov dword [r14 + 0x988], 1
xor eax, eax
jmp 0x1400ec7b8
mov qword [rsp + 0x1a0], rbx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x1a8], rsi
mov rbx, 0xffffffffffffffff
mov qword [rsp + 0x170], rdi
mov dword [rsp + 0x50], 0x67452301
mov dword [rsp + 0x54], 0xefcdab89
mov dword [rsp + 0x58], 0x98badcfe
mov dword [rsp + 0x5c], 0x10325476
mov dword [rsp + 0x60], 0xc3d2e1f0
inc rbx
cmp byte [rax + rbx], 0
jne 0x1400ec5c6
lea eax, [rbx*8]
mov dword [rsp + 0x64], eax
mov eax, ebx
shr eax, 0x1d
mov dword [rsp + 0x68], eax
cmp ebx, 0x3f
jbe 0x1400ec64f
movaps xmm0, xmmword [rbp - 0x10]
lea rdx, [rsp + 0x6c]
movaps xmm1, xmmword [rbp]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x6c], xmm0
mov edi, 0x40
movaps xmm0, xmmword [rbp + 0x10]
movups xmmword [rsp + 0x7c], xmm1
movaps xmm1, xmmword [rbp + 0x20]
movups xmmword [rbp - 0x74], xmm0
movups xmmword [rbp - 0x64], xmm1
call fcn.1400d5070
cmp ebx, 0x7f
jbe 0x1400ec651
nop dword [rax]
nop word [rax + rax]
mov eax, edi
lea rdx, [rbp - 0x10]
add rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1400d5070
add edi, 0x40
lea eax, [rdi + 0x3f]
cmp eax, ebx
jb 0x1400ec630
jmp 0x1400ec651
xor edi, edi
mov eax, edi
lea rdx, [rbp - 0x10]
sub ebx, edi
lea rcx, [rsp + 0x6c]
mov r8d, ebx
add rdx, rax
call fcn.1401726d0
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x50]
call fcn.1400d4db0
mov rdi, qword [section..data]
lea rcx, [rbp - 0x4f]
xor eax, eax
xor r10d, r10d
mov esi, 2
sub rsi, rcx
nop
lea rcx, [rbp - 0x4f]
add rcx, r10
lea r8, [rbp - 0x50]
mov r11, rcx
sub r11, r8
movzx edx, byte [rcx - 1]
cmp r11, 0x14
jb 0x1400ec6b0
xor r9d, r9d
jmp 0x1400ec6b4
movzx r9d, byte [rcx]
lea rbx, [rsi + rcx]
cmp rbx, 0x14
jb 0x1400ec6c3
xor r8d, r8d
jmp 0x1400ec6c8
movzx r8d, byte [rcx + 1]
mov rcx, rdx
and edx, 3
shr rcx, 2
shl edx, 4
movzx ecx, byte [rcx + rdi]
mov byte [rbp + rax - 0x38], cl
mov ecx, r9d
shr rcx, 4
or rdx, rcx
movzx ecx, byte [rdx + rdi]
mov byte [rbp + rax - 0x37], cl
add rax, 2
cmp r11, 0x14
jae 0x1400ec719
and r9d, 0xf
mov rcx, r8
shr rcx, 6
shl r9d, 2
mov edx, r9d
or rdx, rcx
movzx ecx, byte [rdx + rdi]
mov byte [rbp + rax - 0x38], cl
inc rax
cmp rbx, 0x14
jae 0x1400ec72f
and r8d, 0x3f
movzx ecx, byte [r8 + rdi]
mov byte [rbp + rax - 0x38], cl
inc rax
add r10, 3
cmp r10, 0x14
jb 0x1400ec690
mov rdi, qword [rsp + 0x170]
mov rsi, qword [rsp + 0x1a8]
mov rbx, qword [rsp + 0x1a0]
test al, 3
je 0x1400ec76c
nop dword [rax]
mov byte [rbp + rax - 0x38], 0x3d
inc rax
test al, 3
jne 0x1400ec760
lea r8, [rbp - 0x38]
mov byte [rbp + rax - 0x38], 0
lea rdx, str.HTTP_1.1_101_Switching_Protocols_r_nUpgrade:_websocket_r_nConnection:_Upgrade_r_nSec_WebSocket_Accept:__s_r_n
mov rcx, r14
call fcn.1400e2a00
mov rax, qword [r14 + 0x4b0]
lea rcx, [0x1401e16f8]
test rax, rax
lea rdx, str.Sec_WebSocket_Protocol:__s_r_n_r_n
lea r8, [0x1401e4654]
cmove rdx, rcx
cmovne r8, rax
mov rcx, r14
call fcn.1400e2a00
mov eax, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1401702b0
add rsp, 0x178
pop r14
pop rbp
ret