Function at 0x1401d8d40
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 [0x1405d3230]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
mov qword [rbp + 0x50], r9
mov rsi, r8
mov qword [rsp + 0x28], r8
mov qword [rbp + 0x58], rdx
mov qword [rbp + 0x48], rcx
mov rax, qword [rbp + 0x370]
mov qword [rsp + 0x38], rax
xor r13d, r13d
mov dword [rsp + 0x40], r13d
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x60], r13
lea r8d, [r13 + 0x12]
lea rdx, str.Sec_WebSocket_Key1
lea rcx, [rsp + 0x48]
call fcn.1401336a0
nop
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], r13b
jne 0x1401d8ea0
nop dword [rax]
nop dword [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rsp + 0x48]
cmp qword [rsp + 0x60], 0x10
setae r8b
cmovae r13, qword [rsp + 0x48]
add r13, qword [rsp + 0x58]
lea rbx, [rsp + 0x48]
test r8b, r8b
cmovne rbx, qword [rsp + 0x48]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d8e1f
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401d8e29
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401d8e72
nop
cmp rbx, r13
je 0x1401d8e82
movzx esi, byte [rbx]
movzx ecx, byte [r14]
call fcn.140470a3c
mov edi, eax
mov ecx, esi
call fcn.140470a3c
cmp edi, eax
jl 0x1401d8e77
movzx esi, byte [r14]
movzx ecx, byte [rbx]
call fcn.140470a3c
mov edi, eax
mov ecx, esi
call fcn.140470a3c
cmp edi, eax
jl 0x1401d8e82
inc r14
inc rbx
cmp r14, r12
jne 0x1401d8e30
cmp rbx, r13
je 0x1401d8e82
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401d8e8d
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401d8de0
mov rsi, qword [rsp + 0x28]
xor r13d, r13d
lea rdi, [0x1405d3f40]
mov qword [rbp + 0x160], rdi
cmp byte [rbx + 0x19], 0
jne 0x1401d8ed0
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x48]
call fcn.140170880
test al, al
jne 0x1401d8ed0
cmp rbx, qword [rsi + 0x20]
lea rdx, [rbx + 0x40]
jne 0x1401d8ed3
mov rdx, rdi
lea r8, [rbp + 0x2d0]
call fcn.1401db010
nop
lea rcx, [rsp + 0x48]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x80], r13
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key2
lea rcx, [rsp + 0x68]
call fcn.1401336a0
nop
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401d8ff7
nop dword [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rsp + 0x68]
cmp qword [rbp - 0x80], 0x10
setae r8b
cmovae r13, qword [rsp + 0x68]
add r13, qword [rsp + 0x78]
lea rsi, [rsp + 0x68]
test r8b, r8b
cmovne rsi, qword [rsp + 0x68]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d8f6e
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401d8f78
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401d8fc2
nop dword [rax]
cmp rsi, r13
je 0x1401d8fd2
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d8fc7
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d8fd2
inc r14
inc rsi
cmp r14, r12
jne 0x1401d8f80
cmp rsi, r13
je 0x1401d8fd2
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401d8fdd
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401d8f30
lea rdi, [0x1405d3f40]
mov rsi, qword [rsp + 0x28]
xor r13d, r13d
cmp byte [rbx + 0x19], 0
jne 0x1401d9019
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x68]
call fcn.140170880
test al, al
jne 0x1401d9019
cmp rbx, qword [rsi + 0x20]
lea rdx, [rbx + 0x40]
jne 0x1401d901c
mov rdx, rdi
lea r8, [rbp + 0x2d4]
call fcn.1401db010
nop
lea rcx, [rsp + 0x68]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x78], xmm0
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], r13
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key3
lea rcx, [rbp - 0x78]
call fcn.1401336a0
mov rbx, qword [rsi + 0x20]
mov qword [rsp + 0x20], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401d9128
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x78]
cmp qword [rbp - 0x60], 0x10
setae r8b
cmovae r13, qword [rbp - 0x78]
add r13, qword [rbp - 0x68]
lea rsi, [rbp - 0x78]
test r8b, r8b
cmovne rsi, qword [rbp - 0x78]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d90a9
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401d90b3
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401d90fa
cmp rsi, r13
je 0x1401d910a
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d90ff
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d910a
inc r14
inc rsi
cmp r14, r12
jne 0x1401d90b8
cmp rsi, r13
je 0x1401d910a
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x20]
jmp 0x1401d9115
mov rbx, r15
mov qword [rsp + 0x20], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401d9070
mov rsi, qword [rsp + 0x28]
xor r13d, r13d
cmp byte [rbx + 0x19], 0
jne 0x1401d914b
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x78]
call fcn.140170880
test al, al
jne 0x1401d914b
cmp rbx, qword [rsi + 0x20]
je 0x1401d914b
add rbx, 0x40
jmp 0x1401d9152
lea rbx, [0x1405d3f40]
lea rcx, [rbp - 0x78]
call fcn.14014c8d0
mov rax, qword [rbx + 0x10]
mov r8d, 8
cmp qword [rbx + 0x18], 0x10
jb 0x1401d917b
cmp rax, r8
cmovb r8, rax
add r8, qword [rbx]
mov rbx, qword [rbx]
jmp 0x1401d9185
cmp rax, r8
cmovb r8, rax
add r8, rbx
sub r8, rbx
mov rdx, rbx
lea rcx, [rbp + 0x2d8]
call fcn.14045d390
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x70], xmm1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x2d0]
lea rcx, [rbp + 0x60]
call fcn.1401336a0
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 + 0x60]
cmp qword [rbp + 0x78], 0x10
cmovae rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x70]
lea rcx, [rbp + 0x170]
call fcn.14017f2f0
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0x170]
call fcn.14017f3f0
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
movdqa xmm1, xmmword [0x140588090]
movdqu xmmword [rbp + 0x38], xmm1
mov byte [rbp + 0x28], 0
mov dword [rsp + 0x40], 1
xor r8d, r8d
lea edx, [r8 + 0x10]
lea rcx, [rbp + 0x28]
call fcn.1401a7d00
lea rax, [rbp + 0x28]
cmp qword [rbp + 0x40], 0x10
cmovae rax, qword [rbp + 0x28]
movups xmm0, xmmword [rbp + 0x2e0]
movups xmmword [rax], xmm0
xorps xmm1, xmm1
movups xmmword [rbp + 0x80], xmm1
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x90], xmm0
mov r8d, reloc.WS2_32.dll_select
lea rdx, str.Sec_WebSocket_Key3
lea rcx, [rbp + 0x80]
call fcn.1401336a0
nop
lea r8, [rbp + 0x28]
lea rdx, [rbp + 0x80]
mov r14, qword [rsp + 0x38]
mov rcx, r14
call fcn.140171db0
nop
lea rcx, [rbp + 0x80]
call fcn.14014c8d0
nop
lea rcx, [rbp + 0x28]
call fcn.14014c8d0
nop
lea rcx, [rbp + 0x60]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rbp + 0xc0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xd0], xmm1
mov r8d, 9
lea rdx, str.WebSocket
lea rcx, [rbp + 0xc0]
call fcn.1401336a0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xa0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xb0], xmm1
mov r8d, 7
lea rdx, str.Upgrade
lea rcx, [rbp + 0xa0]
call fcn.1401336a0
nop
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 0xa0]
mov rcx, r14
call fcn.140171db0
nop
lea rcx, [rbp + 0xa0]
call fcn.14014c8d0
nop
lea rcx, [rbp + 0xc0]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rbp + 0x100], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x110], xmm1
mov r8d, 7
lea rdx, str.Upgrade
lea rcx, [rbp + 0x100]
call fcn.1401336a0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf0], xmm1
mov r8d, 0xa
lea rdx, str.Connection
lea rcx, [rbp + 0xe0]
call fcn.1401336a0
nop
lea r8, [rbp + 0x100]
lea rdx, [rbp + 0xe0]
mov rcx, r14
call fcn.140171db0
nop
lea rcx, [rbp + 0xe0]
call fcn.14014c8d0
nop
lea rcx, [rbp + 0x100]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r13
mov qword [rbp - 0x40], r13
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.Sec_WebSocket_Origin
lea rcx, [rbp - 0x58]
call fcn.1401336a0
lea rdi, [r14 + 0x20]
mov qword [rsp + 0x20], rdi
mov rbx, qword [rdi]
mov qword [rsp + 0x30], rbx
mov r12, qword [rbx + 8]
cmp byte [r12 + 0x19], 0
jne 0x1401d9508
nop dword [rax]
nop word [rax + rax]
lea r9, [r12 + 0x20]
lea r13, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
setae r8b
cmovae r13, qword [rbp - 0x58]
add r13, qword [rbp - 0x48]
lea rsi, [rbp - 0x58]
test r8b, r8b
cmovne rsi, qword [rbp - 0x58]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d947a
mov r15, qword [r9]
mov r14, r15
add r15, qword [r9 + 0x10]
jmp 0x1401d9484
mov r15, qword [r9 + 0x10]
add r15, r9
mov r14, r9
cmp r14, r15
je 0x1401d94d2
nop dword [rax]
cmp rsi, r13
je 0x1401d94e3
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d94d7
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d94e3
inc r14
inc rsi
cmp r14, r15
jne 0x1401d9490
cmp rsi, r13
je 0x1401d94e3
mov r12, qword [r12 + 0x10]
mov rbx, qword [rsp + 0x30]
jmp 0x1401d94ef
mov rbx, r12
mov qword [rsp + 0x30], rbx
mov r12, qword [r12]
cmp byte [r12 + 0x19], 0
je 0x1401d9440
mov rdi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
xor r13d, r13d
cmp byte [rbx + 0x19], 0
jne 0x1401d952a
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x58]
call fcn.140170880
test al, al
jne 0x1401d952a
cmp rbx, qword [rdi]
je 0x1401d952a
add rbx, 0x50
jmp 0x1401d9531
lea rbx, [0x1405d3f50]
mov rbx, qword [rbx]
lea rcx, [rbp - 0x58]
call fcn.14014c8d0
test rbx, rbx
jne 0x1401d96d1
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x20], r13
lea r8d, [rbx + 6]
lea rdx, str.Origin
lea rcx, [rbp - 0x38]
call fcn.1401336a0
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 0x1401d9648
nop word [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
setae r8b
cmovae r13, qword [rbp - 0x38]
add r13, qword [rbp - 0x28]
lea rsi, [rbp - 0x38]
test r8b, r8b
cmovne rsi, qword [rbp - 0x38]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d95c9
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401d95d3
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401d961a
cmp rsi, r13
je 0x1401d962a
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d961f
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d962a
inc r14
inc rsi
cmp r14, r12
jne 0x1401d95d8
cmp rsi, r13
je 0x1401d962a
mov r15, qword [r15 + 0x10]
mov rbx, qword [rsp + 0x30]
jmp 0x1401d9635
mov rbx, r15
mov qword [rsp + 0x30], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401d9590
mov rdi, qword [rsp + 0x28]
xor r13d, r13d
cmp byte [rbx + 0x19], 0
jne 0x1401d9670
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x38]
call fcn.140170880
test al, al
jne 0x1401d9670
cmp rbx, qword [rdi + 0x20]
je 0x1401d9670
lea rax, [rbx + 0x40]
mov qword [rbp + 0x160], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x120], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x130], xmm1
mov r8d, reloc.WS2_32.dll_sendto
lea rdx, str.Sec_WebSocket_Origin
lea rcx, [rbp + 0x120]
call fcn.1401336a0
nop
mov r8, qword [rbp + 0x160]
lea rdx, [rbp + 0x120]
mov r14, qword [rsp + 0x38]
mov rcx, r14
call fcn.140171db0
nop
lea rcx, [rbp + 0x120]
call fcn.14014c8d0
nop
lea rcx, [rbp - 0x38]
call fcn.14014c8d0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
mov qword [rbp - 8], r13
mov qword [rbp], r13
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Location
lea rcx, [rbp - 0x18]
call fcn.1401336a0
mov rsi, qword [rsp + 0x20]
mov rbx, qword [rsi]
mov qword [rbp + 0x160], rbx
mov r15, qword [rbx + 8]
cmp byte [r15 + 0x19], 0
jne 0x1401d97e1
nop dword [rax]
nop dword [rax + rax]
lea r9, [r15 + 0x20]
lea r13, [rbp - 0x18]
cmp qword [rbp], 0x10
setae r8b
cmovae r13, qword [rbp - 0x18]
add r13, qword [rbp - 8]
lea rsi, [rbp - 0x18]
test r8b, r8b
cmovne rsi, qword [rbp - 0x18]
cmp qword [r9 + 0x18], 0x10
jb 0x1401d9759
mov r12, qword [r9]
mov r14, r12
add r12, qword [r9 + 0x10]
jmp 0x1401d9763
mov r12, qword [r9 + 0x10]
add r12, r9
mov r14, r9
cmp r14, r12
je 0x1401d97aa
cmp rsi, r13
je 0x1401d97bc
movzx edi, byte [rsi]
movzx ecx, byte [r14]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d97af
movzx edi, byte [r14]
movzx ecx, byte [rsi]
call fcn.140470a3c
mov ebx, eax
mov ecx, edi
call fcn.140470a3c
cmp ebx, eax
jl 0x1401d97bc
inc r14
inc rsi
cmp r14, r12
jne 0x1401d9768
cmp rsi, r13
je 0x1401d97bc
mov r15, qword [r15 + 0x10]
mov rbx, qword [rbp + 0x160]
jmp 0x1401d97c9
mov rbx, r15
mov qword [rbp + 0x160], rbx
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x1401d9720
mov rsi, qword [rsp + 0x20]
mov r14, qword [rsp + 0x38]
xor r13d, r13d
cmp byte [rbx + 0x19], 0
jne 0x1401d9803
lea r8, [rbx + 0x20]
lea rdx, [rbp - 0x18]
call fcn.140170880
test al, al
jne 0x1401d9803
cmp rbx, qword [rsi]
je 0x1401d9803
add rbx, 0x50
jmp 0x1401d980a
lea rbx, [0x1405d3f50]
mov rbx, qword [rbx]
lea rcx, [rbp - 0x18]
call fcn.14014c8d0
test rbx, rbx
jne 0x1401d99b0
xorps xmm0, xmm0
movups xmmword [rbp + 0x160], xmm0
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx]
mov r8, qword [rsp + 0x28]
lea rdx, [rbp + 0x160]
call qword [rax + 0x60]
nop
mov rbx, qword [rbp + 0x160]
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp + 0x1d0]
call fcn.14045da30
lea rcx, [rbp + 0x1d0]
call fcn.1401a6b70
nop
mov rdx, rbx
cmp qword [rbx + 0x18], 0x10
jb 0x1401d9875
mov rdx, qword [rbx]
mov r8, qword [rbx + 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.1401c2330
lea rdi, [rbx + 0x20]
lea rdx, [0x140581ac8]
mov rcx, rax
call fcn.1401b2990
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x1401d98a6
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.1401c2330
mov eax, 0x50
mov ecx, 0x1bb
cmp byte [rbx + 0x62], 0
cmovne ax, cx
cmp word [rbx + 0x60], ax
je 0x1401d98e8
lea rdx, [0x140581ac4]
lea rcx, [rbp + 0x1e0]
call fcn.1401b2990
movzx edx, word [rbx + 0x60]
mov rcx, rax
call fcn.1401a79a0
lea rdx, [rbx + 0x40]
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1401d98fa
mov rdx, qword [rdx]
lea rcx, [rbp + 0x1e0]
call fcn.1401c2330
lea rdx, [rbp + 0x140]
lea rcx, [rbp + 0x1e8]
call fcn.1401acae0
nop
lea rcx, [rbp + 0x1d0]
call fcn.1401705a0
nop
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Location
lea rcx, [rbp + 8]
call fcn.1401336a0
nop
lea r8, [rbp + 0x140]
lea rdx, [rbp + 8]
mov rcx, r14
call fcn.140171db0
nop
lea rcx, [rbp + 8]
call fcn.14014c8d0
nop
lea rcx, [rbp + 0x140]
call fcn.14014c8d0
nop
mov rbx, qword [rbp + 0x168]
test rbx, rbx
je 0x1401d99b0
mov edi, 0xffffffff
mov eax, edi
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401d99b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], edi
cmp edi, 1
jne 0x1401d99b0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp + 0x50]
cmp qword [rbx + 0x10], 0
je 0x1401d9a15
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x18], xmm1
mov r8d, reloc.WS2_32.dll_shutdown
lea rdx, str.Sec_WebSocket_Protocol
lea rcx, [rbp + 8]
call fcn.1401336a0
nop
lea rdx, [rbp + 8]
mov rcx, rsi
call fcn.1401a6a50
cmp rax, rbx
je 0x1401d9a0c
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x1401d9a00
mov rbx, qword [rbx]
mov rdx, rbx
mov rcx, rax
call fcn.1401ace00
nop
lea rcx, [rbp + 8]
call fcn.14014c8d0
mov rax, qword [rbp + 0x58]
mov dword [rax], r13d
lea rcx, [0x1405d4020]
mov qword [rax + 8], rcx
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.14045a250
add rsp, 0x408
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret