Function at 0x140050440
Capabilities:
Hash data using sha1
Send data
Send data on socket
Send http request

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x180]
sub rsp, 0x280
mov rax, qword [0x1402581e0]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov r14, rdx
xor edx, edx
mov rbx, r8
mov qword [rsp + 0x20], rcx
lea r8d, [rdx + 0x7f]
lea rcx, [rbp - 0x4f]
mov byte [rbp - 0x50], 0
call sub.MSVCR120.dll_memset
cmp dword [0x1402c7ad4], 0
je 0x1400504ab
lea rdx, str.clientkey:__s
mov r8, rbx
mov ecx, 4
call fcn.140040950
lea rdx, str._s258EAFA5_E914_47DA_95CA_C5AB0DC85B11
lea rcx, [rbp - 0x50]
mov r8, rbx
call qword [sym.imp.MSVCR120.dll_sprintf]
xor edx, edx
lea rcx, [rsp + 0x30]
lea r8d, [rdx + 0x60]
call sub.MSVCR120.dll_memset
or rsi, 0xffffffffffffffff
mov dword [rsp + 0x30], 0x67452301
mov r8, rsi
mov dword [rsp + 0x34], 0xefcdab89
mov dword [rsp + 0x38], 0x98badcfe
mov dword [rsp + 0x3c], 0x10325476
mov dword [rsp + 0x40], 0xc3d2e1f0
lea rax, [rbp - 0x50]
inc r8
cmp byte [rax + r8], 0
jne 0x140050502
test r8, r8
je 0x14005051f
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x30]
call fcn.1400d59d0
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400d5b00
lea r8, [rbp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400501f0
lea r8, [rbp + 0x30]
lea rdx, str.HTTP_1.1_101_Switching_Protocol_r_nUpgrade:_WebSocket_r_nConnection:_Upgrade_r_nSec_WebSocket_Accept:__s_r_nSec_WebSocket_Protocol:_text_r_n_r_n
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCR120.dll_sprintf]
xor eax, eax
mov byte [rbp - 0x70], 0x81
mov qword [rbp - 0x6f], rax
mov byte [rbp - 0x67], al
mov rbx, rsi
nop
inc rbx
cmp byte [r14 + rbx], al
jne 0x140050560
mov r15b, 2
cmp rbx, 0x7d
ja 0x140050577
mov byte [rbp - 0x6f], bl
jmp 0x1400505e3
mov rax, rbx
cmp rbx, 0xffff
ja 0x140050596
shr rax, 8
mov byte [rbp - 0x6f], 0x7e
mov byte [rbp - 0x6d], bl
mov byte [rbp - 0x6e], al
mov r15b, 4
jmp 0x1400505e3
shr rax, 0x38
mov byte [rbp - 0x6f], 0x7f
mov byte [rbp - 0x67], bl
mov byte [rbp - 0x6e], al
mov rax, rbx
mov r15b, 0xa
shr rax, 0x30
mov byte [rbp - 0x6d], al
mov rax, rbx
shr rax, 0x28
mov byte [rbp - 0x6c], al
mov rax, rbx
shr rax, 0x20
mov byte [rbp - 0x6b], al
mov rax, rbx
shr rax, 0x18
mov byte [rbp - 0x6a], al
mov rax, rbx
shr rax, 0x10
mov byte [rbp - 0x69], al
mov rax, rbx
shr rax, 8
mov byte [rbp - 0x68], al
lea rax, [rbp + 0x70]
mov rdi, rsi
nop word [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x1400505f0
lea rdx, [rdi + 1]
movzx r13d, r15b
mov ecx, 1
add rdx, r13
add rdx, rbx
call qword [sym.imp.MSVCR120.dll_calloc]
mov r12, rax
test rax, rax
jne 0x14005061e
mov eax, esi
jmp 0x140050684
lea rdx, [rbp + 0x70]
mov r8, rdi
mov rcx, rax
call sub.MSVCR120.dll_memcpy
add rdi, r12
lea rdx, [rbp - 0x70]
mov rcx, rdi
mov r8, r13
call sub.MSVCR120.dll_memcpy
lea rcx, [rdi + r13]
mov r8, rbx
mov rdx, r14
call sub.MSVCR120.dll_memcpy
lea rax, [rbp + 0x70]
inc rsi
cmp byte [rax + rsi], 0
jne 0x140050652
mov rcx, qword [rsp + 0x20]
movzx r8d, r15b
xor r9d, r9d
inc r8d
mov rdx, r12
add r8d, ebx
add r8d, esi
call qword [sym.imp.WS2_32.dll_send]
mov rcx, r12
call qword [sym.imp.MSVCR120.dll_free]
xor eax, eax
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.1401bddc0
mov rbx, qword [rsp + 0x2d8]
add rsp, 0x280
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret