Function at 0x1401d9fc0
Capabilities:
Hash data with md5

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x308]
sub rsp, 0x408
mov rax, qword [0x140628fc0]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x48], r9
mov rsi, r8
mov qword [rsp + 0x28], r8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x40], rcx
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x38], rax
xor r14d, r14d
mov dword [rsp + 0x20], r14d
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
lea r8d, [r14 + 0x12]
lea rdx, str.Sec_WebSocket_Key1
lea rcx, [rsp + 0x40]
call fcn.140133540
nop
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], r14b
jne 0x1401da120
nop dword [rax]
nop dword [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
seta r8b
cmova r13, qword [rsp + 0x40]
add r13, qword [rsp + 0x50]
lea rbx, [rsp + 0x40]
test r8b, r8b
cmovne rbx, qword [rsp + 0x40]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da09f
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da0a9
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da0f2
nop
cmp rbx, r13
je 0x1401da102
movzx esi, byte [rbx]
movzx ecx, byte [r14]
call fcn.1404b7648
mov edi, eax
mov ecx, esi
call fcn.1404b7648
cmp edi, eax
jl 0x1401da0f7
movzx esi, byte [r14]
movzx ecx, byte [rbx]
call fcn.1404b7648
mov edi, eax
mov ecx, esi
call fcn.1404b7648
cmp edi, eax
jl 0x1401da102
inc r14
inc rbx
cmp r14, r12
jne 0x1401da0b0
cmp rbx, r13
je 0x1401da102
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401da10d
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da060
mov rsi, qword [rsp + 0x28]
xor r14d, r14d
lea rdi, [0x140629d20]
mov qword [rbp + 0x158], rdi
cmp byte [rbx + 0x19], 0
jne 0x1401da150
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x40]
call fcn.140170cb0
test al, al
jne 0x1401da150
cmp rbx, qword [rsi + 0x20]
lea rdx, [rbx + 0x40]
jne 0x1401da153
mov rdx, rdi
lea r8, [rbp + 0x2d0]
call fcn.1401dc220
nop
lea rcx, [rsp + 0x40]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key2
lea rcx, [rsp + 0x60]
call fcn.140133540
nop
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401da277
nop dword [rax]
lea r9, [r15 + 0x20]
lea r13, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
seta r8b
cmova r13, qword [rsp + 0x60]
add r13, qword [rsp + 0x70]
lea rsi, [rsp + 0x60]
test r8b, r8b
cmovne rsi, qword [rsp + 0x60]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da1ef
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da1f9
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da242
nop
cmp rsi, r13
je 0x1401da252
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da247
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da252
inc r14
inc rsi
cmp r14, r12
jne 0x1401da200
cmp rsi, r13
je 0x1401da252
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401da25d
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da1b0
lea rdi, [0x140629d20]
mov rsi, qword [rsp + 0x28]
xor r14d, r14d
cmp byte [rbx + 0x19], 0
jne 0x1401da299
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x60]
call fcn.140170cb0
test al, al
jne 0x1401da299
cmp rbx, qword [rsi + 0x20]
lea rdx, [rbx + 0x40]
jne 0x1401da29c
mov rdx, rdi
lea r8, [rbp + 0x2d4]
call fcn.1401dc220
nop
lea rcx, [rsp + 0x60]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
mov qword [rbp - 0x68], r14
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key3
lea rcx, [rbp - 0x80]
call fcn.140133540
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401da3a8
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x80]
cmp qword [rbp - 0x68], 0xf
seta r8b
cmova r13, qword [rbp - 0x80]
add r13, qword [rbp - 0x70]
lea rsi, [rbp - 0x80]
test r8b, r8b
cmovne rsi, qword [rbp - 0x80]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da329
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da333
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da37a
cmp rsi, r13
je 0x1401da38a
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da37f
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da38a
inc r14
inc rsi
cmp r14, r12
jne 0x1401da338
cmp rsi, r13
je 0x1401da38a
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401da395
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da2f0
mov rsi, qword [rsp + 0x28]
xor r14d, r14d
cmp byte [rbx + 0x19], 0
jne 0x1401da3cb
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x80]
call fcn.140170cb0
test al, al
jne 0x1401da3cb
cmp rbx, qword [rsi + 0x20]
je 0x1401da3cb
add rbx, 0x40
jmp 0x1401da3d2
lea rbx, [0x140629d20]
lea rcx, [rbp - 0x80]
call fcn.14014c690
mov rax, qword [rbx + 0x10]
mov r8d, 8
cmp qword [rbx + 0x18], 0xf
jbe 0x1401da3fb
cmp rax, r8
cmovb r8, rax
add r8, qword [rbx]
mov rbx, qword [rbx]
jmp 0x1401da405
cmp rax, r8
cmovb r8, rax
add r8, rbx
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x2d8]
call fcn.1404da2a0
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x68], xmm1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x58]
call fcn.140133540
nop
mov qword [rbp + 0x170], 0
mov dword [rbp + 0x178], 0x67452301
mov dword [rbp + 0x17c], 0xefcdab89
mov dword [rbp + 0x180], 0x98badcfe
mov dword [rbp + 0x184], 0x10325476
lea rdx, [rbp + 0x58]
cmp qword [rbp + 0x70], 0xf
cmova rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x68]
lea rcx, [rbp + 0x170]
call fcn.14017f670
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x170]
call fcn.14017f770
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
movdqa xmm1, xmmword [0x1405da380]
movdqu xmmword [rbp + 0x30], xmm1
mov byte [rbp + 0x20], 0
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea edx, [r8 + 0x10]
lea rcx, [rbp + 0x20]
call fcn.1401a9e30
lea rax, [rbp + 0x20]
cmp qword [rbp + 0x38], 0xf
cmova rax, qword [rbp + 0x20]
movups xmm0, xmmword [rbp + 0x2e0]
movups xmmword [rax], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x78], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x88], xmm0
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key3
lea rcx, [rbp + 0x78]
call fcn.140133540
nop
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x78]
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call fcn.1401721c0
nop
lea rcx, [rbp + 0x78]
call fcn.14014c690
nop
lea rcx, [rbp + 0x20]
call fcn.14014c690
nop
lea rcx, [rbp + 0x58]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rbp + 0xb8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xc8], xmm1
mov r8d, 9
lea rdx, str.WebSocket
lea rcx, [rbp + 0xb8]
call fcn.140133540
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0x98], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xa8], xmm1
mov r8d, 7
lea rdx, str.Upgrade
lea rcx, [rbp + 0x98]
call fcn.140133540
nop
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x98]
mov rcx, rsi
call fcn.1401721c0
nop
lea rcx, [rbp + 0x98]
call fcn.14014c690
nop
lea rcx, [rbp + 0xb8]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rbp + 0xf8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x108], xmm1
mov r8d, 7
lea rdx, str.Upgrade
lea rcx, [rbp + 0xf8]
call fcn.140133540
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xd8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xe8], xmm1
mov r8d, 0xa
lea rdx, str.Connection
lea rcx, [rbp + 0xd8]
call fcn.140133540
nop
lea r8, [rbp + 0xf8]
lea rdx, [rbp + 0xd8]
mov rcx, rsi
call fcn.1401721c0
nop
lea rcx, [rbp + 0xd8]
call fcn.14014c690
nop
lea rcx, [rbp + 0xf8]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r14
mov qword [rbp - 0x48], r14
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.Sec_WebSocket_Origin
lea rcx, [rbp - 0x60]
call fcn.140133540
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x30], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401da758
nop
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x60]
cmp qword [rbp - 0x48], 0xf
seta r8b
cmova r13, qword [rbp - 0x60]
add r13, qword [rbp - 0x50]
lea rsi, [rbp - 0x60]
test r8b, r8b
cmovne rsi, qword [rbp - 0x60]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da6d9
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da6e3
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da72a
cmp rsi, r13
je 0x1401da73a
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da72f
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da73a
inc r14
inc rsi
cmp r14, r12
jne 0x1401da6e8
cmp rsi, r13
je 0x1401da73a
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x30]
jmp 0x1401da745
mov rbx, r15
mov qword [rsp + 0x30], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da6a0
mov rsi, qword [rsp + 0x38]
xor r14d, r14d
cmp byte [rbx + 0x19], 0
jne 0x1401da77b
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x60]
call fcn.140170cb0
test al, al
jne 0x1401da77b
cmp rbx, qword [rsi + 0x20]
je 0x1401da77b
add rbx, 0x50
jmp 0x1401da782
lea rbx, [0x140629d30]
mov rbx, qword [rbx]
lea rcx, [rbp - 0x60]
call fcn.14014c690
test rbx, rbx
jne 0x1401da921
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
lea r8d, [rbx + 6]
lea rdx, str.Origin
lea rcx, [rbp - 0x40]
call fcn.140133540
nop
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rdi + 0x20]
mov qword [rsp + 0x30], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401da898
nop dword [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
seta r8b
cmova r13, qword [rbp - 0x40]
add r13, qword [rbp - 0x30]
lea rsi, [rbp - 0x40]
test r8b, r8b
cmovne rsi, qword [rbp - 0x40]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da819
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da823
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da86a
cmp rsi, r13
je 0x1401da87a
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da86f
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da87a
inc r14
inc rsi
cmp r14, r12
jne 0x1401da828
cmp rsi, r13
je 0x1401da87a
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x30]
jmp 0x1401da885
mov rbx, r15
mov qword [rsp + 0x30], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da7e0
mov rdi, qword [rsp + 0x28]
xor r14d, r14d
cmp byte [rbx + 0x19], 0
jne 0x1401da8c0
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x40]
call fcn.140170cb0
test al, al
jne 0x1401da8c0
cmp rbx, qword [rdi + 0x20]
je 0x1401da8c0
lea rax, [rbx + 0x40]
mov qword [rbp + 0x158], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x118], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x128], xmm1
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.Sec_WebSocket_Origin
lea rcx, [rbp + 0x118]
call fcn.140133540
nop
mov r8, qword [rbp + 0x158]
lea rdx, [rbp + 0x118]
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
call fcn.1401721c0
nop
lea rcx, [rbp + 0x118]
call fcn.14014c690
nop
lea rcx, [rbp - 0x40]
call fcn.14014c690
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Location
lea rcx, [rbp - 0x20]
call fcn.140133540
mov rbx, qword [rsi + 0x20]
mov qword [rbp + 0x158], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401daa1c
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x20]
cmp qword [rbp - 8], 0xf
seta r8b
cmova r13, qword [rbp - 0x20]
add r13, qword [rbp - 0x10]
lea rsi, [rbp - 0x20]
test r8b, r8b
cmovne rsi, qword [rbp - 0x20]
cmp qword [r9 + 0x18], 0xf
jbe 0x1401da999
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401da9a3
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401da9ea
cmp rsi, r13
je 0x1401da9fc
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da9ef
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.1404b7648
mov ebx, eax
mov ecx, edi
call fcn.1404b7648
cmp ebx, eax
jl 0x1401da9fc
inc r14
inc rsi
cmp r14, r12
jne 0x1401da9a8
cmp rsi, r13
je 0x1401da9fc
mov r15, qword [r15 + 0x10]
mov rbx, qword [rbp + 0x158]
jmp 0x1401daa09
mov rbx, r15
mov qword [rbp + 0x158], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401da960
mov rsi, qword [rsp + 0x38]
xor r14d, r14d
cmp byte [rbx + 0x19], 0
jne 0x1401daa3f
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x20]
call fcn.140170cb0
test al, al
jne 0x1401daa3f
cmp rbx, qword [rsi + 0x20]
je 0x1401daa3f
add rbx, 0x50
jmp 0x1401daa46
lea rbx, [0x140629d30]
mov rbx, qword [rbx]
lea rcx, [rbp - 0x20]
call fcn.14014c690
test rbx, rbx
jne 0x1401dabec
xorps xmm0, xmm0
movups xmmword [rbp + 0x158], xmm0
mov rcx, qword [rbp + 0x40]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x28]
lea rdx, [rbp + 0x158]
call qword [rax + 0x60]
nop
mov rbx, qword [rbp + 0x158]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x1d0]
call fcn.1404da940
lea rcx, [rbp + 0x1d0]
call fcn.1401a8bb0
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1401daab1
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.1401c45d0
lea rdi, [rbx + 0x20]
lea rdx, [0x1405d3c88]
mov rcx, rax
call fcn.1401b4200
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x1401daae2
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.1401c45d0
mov eax, 0x50
mov ecx, 0x1bb
cmp byte [rbx + 0x62], 0
cmovne ax, cx
cmp word [rbx + 0x60], ax
je 0x1401dab24
lea rdx, [0x1405d3c84]
lea rcx, [rbp + 0x1e0]
call fcn.1401b4200
movzx edx, word [rbx + 0x60]
mov rcx, rax
call fcn.1401a9a30
lea rdx, [rbx + 0x40]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x1401dab36
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1e0]
call fcn.1401c45d0
lea rdx, [rbp + 0x138]
lea rcx, [rbp + 0x1e8]
call fcn.1401ae9e0
nop
lea rcx, [rbp + 0x1d0]
call fcn.1401709d0
nop
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Location
lea rcx, [rbp]
call fcn.140133540
nop
lea r8, [rbp + 0x138]
lea rdx, [rbp]
mov rcx, rsi
call fcn.1401721c0
nop
lea rcx, [rbp]
call fcn.14014c690
nop
lea rcx, [rbp + 0x138]
call fcn.14014c690
nop
mov rbx, qword [rbp + 0x160]
test rbx, rbx
je 0x1401dabec
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401dabec
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1401dabec
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp + 0x48]
cmp qword [rbx + 0x10], 0
je 0x1401dac3f
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Protocol
lea rcx, [rbp]
call fcn.140133540
nop
lea rcx, [rsi + 0x20]
lea rdx, [rbp]
call fcn.1401a8a90
mov rcx, rax
mov rdx, rbx
call fcn.1401a9ed0
nop
lea rcx, [rbp]
call fcn.14014c690
mov rax, qword [rbp + 0x50]
mov dword [rax], r14d
lea rcx, [0x140629e20]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.1404a0a30
add rsp, 0x408
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret