Function at 0x1400133f0
Capabilities:
Encode data using base64
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0xe0
lea rbp, [rsp + 0x30]
mov qword [rbp + 0xf0], rbx
mov rax, qword [0x14005b040]
xor rax, rbp
mov qword [rbp + 0xa0], rax
mov eax, dword [rsp]
mov rsi, rdx
mov r14, rcx
mov eax, 0x400
sub rsp, rax
lea r15, [rsp + 0x30]
mov eax, dword [r15]
mov rax, qword [rdx + 0x40]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x140013440
xor ebx, ebx
mov dword [rsp + 0x20], 0xf0000000
mov r9d, 1
mov qword [rbp + 8], rbx
xor r8d, r8d
mov qword [rbp + 0x10], rbx
xor edx, edx
lea rcx, [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x140013492
mov rcx, qword [rbp + 8]
lea rax, [rbp + 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov edx, 0x8004
call qword [sym.imp.ADVAPI32.dll_CryptCreateHash]
mov rdx, qword [rsi + 0x40]
xor r9d, r9d
mov rcx, qword [rbp + 0x10]
mov r8d, edi
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rbp + 0x10]
lea rdx, str.258EAFA5_E914_47DA_95CA_C5AB0DC85B11
xor r9d, r9d
mov r8d, 0x24
call qword [sym.imp.ADVAPI32.dll_CryptHashData]
mov rcx, qword [rbp + 0x10]
lea r9, [rbp]
lea r8, [rbp + 0x60]
mov dword [rbp], reloc.WS2_32.dll_sendto
mov edx, 2
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x1400134e9
mov dword [rbp], ebx
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x1400134f8
call qword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x140013509
xor edx, edx
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov qword [rbp + 0x10], rbx
lea r8, [rbp + 0x22]
mov qword [rbp + 8], rbx
lea r11, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov rdx, rbx
nop
movzx ecx, byte [rbp + rdx + 0x60]
lea r9, [rdx + 1]
shl rcx, 8
cmp r9, 0x14
jae 0x14001353d
movzx eax, byte [rbp + rdx + 0x61]
or rax, rcx
jmp 0x140013540
mov rax, rcx
shl rax, 8
lea r10, [rdx + 2]
cmp r10, 0x14
jae 0x140013558
movzx ecx, byte [rbp + rdx + 0x62]
or rcx, rax
jmp 0x14001355b
mov rcx, rax
mov rax, rcx
shr rax, 0x12
movzx eax, byte [rax + r11]
mov byte [r8 - 2], al
mov rax, rcx
shr rax, 0xc
and eax, 0x3f
movzx eax, byte [rax + r11]
mov byte [r8 - 1], al
cmp r9, 0x14
jae 0x140013595
mov rax, rcx
shr rax, 6
and eax, 0x3f
movzx r9d, byte [rax + r11]
jmp 0x140013598
mov r9b, 0x3d
mov byte [r8], r9b
cmp r10, 0x14
jae 0x1400135ab
and ecx, 0x3f
movzx eax, byte [rcx + r11]
jmp 0x1400135ad
mov al, 0x3d
mov byte [r8 + 1], al
add rdx, 3
add r8, 4
cmp rdx, 0x14
jb 0x140013520
mov byte [rbp + 0x3c], bl
cmp byte [rbp + rbx + 0x20], 0x20
jge 0x1400135dc
cmp rbx, 0x40
jae 0x140013683
mov byte [rbp + rbx + 0x20], 0
inc rbx
cmp rbx, 0x1c
jb 0x1400135c6
xor r8d, r8d
lea rdx, str.HTTP_Upgrade_request_to_websocket_r_n
mov rcx, r14
call fcn.140015300
lea r9, [rbp + 0x20]
mov edx, 0x400
lea r8, str.HTTP_1.1_101_Switching_Protocols_r_nUpgrade:_websocket_r_nConnection:_Upgrade_r_nSec_WebSocket_Accept:__s_r_n_r_n
mov rcx, r15
call fcn.1400110e0
mov r9, qword [r14 + 0x20]
movsxd rbx, eax
mov eax, dword [r14 + 0x28]
test r9, r9
je 0x140013628
lea ecx, [rax + rbx]
cmp ecx, dword [r14 + 0x2c]
jle 0x140013640
add eax, ebx
mov rcx, r9
movsxd rdx, eax
mov dword [r14 + 0x2c], eax
call fcn.140026cb0
mov r9, rax
mov qword [r14 + 0x20], rax
movsxd rcx, dword [r14 + 0x28]
mov r8, rbx
add rcx, r9
mov rdx, r15
call fcn.140045d50
add dword [r14 + 0x28], ebx
mov dword [r14 + 0x4c], 1
mov rcx, qword [rbp + 0xa0]
xor rcx, rbp
call fcn.140020e70
mov rbx, qword [rbp + 0xf0]
lea rsp, [rbp + 0xb0]
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140020f98
int3