Function at 0x1012a5f0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10216ff2
mov eax, dword fs:[0]
push eax
sub esp, 0x148
mov eax, dword [0x10282800]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14c], ecx
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x150], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x134]
push eax
mov dword [ebp - 0x13c], 0
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x148], esi
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x134], 0x1f
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Key1]
mov ecx, eax
mov dword [ebp - 0x28], 0x12
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], ecx
movups xmmword [ecx], xmm0
mov ax, word [0x102257f4]
mov word [ecx + 0x10], ax
mov byte [ecx + 0x12], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x144]
add esi, 0x18
push eax
mov ecx, esi
call fcn.100e9ab0
mov edi, dword [ebp - 0x13c]
cmp byte [edi + 0xd], 0
jne 0x1012a6f4
lea eax, [edi + 0x10]
mov ecx, esi
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10103de0
test al, al
jne 0x1012a6f4
cmp edi, dword [esi]
je 0x1012a6f4
add edi, 0x28
jmp 0x1012a6f9
mov edi, 0x10282050
mov ecx, dword [ebp - 0x14c]
lea eax, [ebp - 0x20]
push eax
push edi
call fcn.10111040
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012a744
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012a73a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b38e
push ecx
push edx
call fcn.101e3768
add esp, 8
lea eax, [ebp - 0x134]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Key2]
mov ecx, eax
mov dword [ebp - 0x28], 0x12
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], ecx
movups xmmword [ecx], xmm0
mov ax, word [0x10225808]
mov word [ecx + 0x10], ax
mov byte [ecx + 0x12], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x144]
mov ecx, esi
push eax
call fcn.100e9ab0
mov edi, dword [ebp - 0x13c]
cmp byte [edi + 0xd], 0
jne 0x1012a7e4
lea eax, [edi + 0x10]
mov ecx, esi
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10103de0
test al, al
jne 0x1012a7e4
cmp edi, dword [esi]
je 0x1012a7e4
add edi, 0x28
jmp 0x1012a7e9
mov edi, 0x10282050
mov ecx, dword [ebp - 0x14c]
lea eax, [ebp - 0x1c]
push eax
push edi
call fcn.10111040
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012a834
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012a82a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b393
push ecx
push edx
call fcn.101e3768
add esp, 8
lea eax, [ebp - 0x134]
mov dword [ebp - 0x40], 0
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x3c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x50], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Key3]
mov ecx, eax
mov dword [ebp - 0x40], 0x12
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], ecx
movups xmmword [ecx], xmm0
mov ax, word [0x102257e0]
mov word [ecx + 0x10], ax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x144]
mov byte [ecx + 0x12], 0
push eax
mov ecx, esi
call fcn.100e9ab0
mov edi, dword [ebp - 0x13c]
cmp byte [edi + 0xd], 0
jne 0x1012a8cb
lea eax, [edi + 0x10]
mov ecx, esi
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10103de0
test al, al
jne 0x1012a8cb
cmp edi, dword [esi]
lea esi, [edi + 0x28]
jne 0x1012a8d0
mov esi, 0x10282050
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0xf
jbe 0x1012a904
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012a8fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b398
push ecx
push edx
call fcn.101e3768
add esp, 8
mov dword [ebp - 0x40], 0
mov eax, 8
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
cmp dword [esi + 0x14], 0xf
mov ecx, dword [esi + 0x10]
jbe 0x1012a92f
cmp ecx, eax
cmovb eax, ecx
add eax, dword [esi]
mov esi, dword [esi]
jmp 0x1012a936
cmp ecx, eax
cmovb eax, ecx
add eax, esi
sub eax, esi
push eax
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.101e55c0
lea eax, [ebp - 0x134]
mov dword [ebp - 0x134], 0x1f
push eax
lea eax, [ebp - 0x80]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x80], xmm0
call fcn.100ce050
movups xmm0, xmmword [ebp - 0x20]
mov ecx, dword [ebp - 0x134]
mov edx, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x70], 0x10
mov dword [ebp - 0x6c], ecx
movups xmmword [edx], xmm0
mov byte [edx + 0x10], 0
cmp ecx, 0xf
mov dword [ebp - 4], 3
lea eax, [ebp - 0x80]
mov dword [ebp - 0xd4], 0
cmova eax, edx
mov dword [ebp - 0xd8], 0
push 0x10
push eax
lea eax, [ebp - 0xd8]
mov dword [ebp - 0xd0], 0x67452301
push eax
mov dword [ebp - 0xcc], 0xefcdab89
mov dword [ebp - 0xc8], 0x98badcfe
mov dword [ebp - 0xc4], 0x10325476
call fcn.10123510
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.101235e0
add esp, 0x28
mov dword [ebp - 0x40], 0
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0xf
movups xmmword [ebp - 0x50], xmm0
lea ecx, [ebp - 0x50]
mov byte [ebp - 0x50], 0
push 0
push 0x10
mov dword [ebp - 0x13c], 1
call fcn.100de6a0
cmp dword [ebp - 0x3c], 0xf
lea eax, [ebp - 0x50]
movups xmm0, xmmword [ebp - 0x20]
cmova eax, dword [ebp - 0x50]
mov dword [ebp - 0x134], 0x1f
movups xmmword [eax], xmm0
lea eax, [ebp - 0x134]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Key3]
mov ecx, eax
mov dword [ebp - 0x28], 0x12
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], ecx
movups xmmword [ecx], xmm0
mov ax, word [0x102257e0]
mov word [ecx + 0x10], ax
mov byte [ecx + 0x12], 0
mov edi, dword [ebp - 0x138]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 4
push eax
mov ecx, edi
call fcn.1010bbe0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x1012aae3
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012aad9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b39d
push ecx
push edx
call fcn.101e3768
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov byte [ebp - 4], 2
cmp ecx, 0xf
jbe 0x1012ab2d
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ab23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b39d
push ecx
push edx
call fcn.101e3768
add esp, 8
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012ab7a
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ab70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b39d
push ecx
push edx
call fcn.101e3768
add esp, 8
mov al, byte [0x10225814]
xorps xmm0, xmm0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x58], 9
movq xmm0, qword [str.WebSocket]
mov dword [ebp - 0x54], 0xf
movq qword [ebp - 0x68], xmm0
mov byte [ebp - 0x60], al
mov byte [ebp - 0x5f], 0
mov eax, dword [0x10225764]
xorps xmm0, xmm0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x38], eax
mov ax, word [0x10225768]
mov word [ebp - 0x34], ax
mov al, byte [0x1022576a]
mov dword [ebp - 4], 5
mov dword [ebp - 0x28], 7
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x32], al
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.1010bbe0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 5
cmp ecx, 0xf
jbe 0x1012ac2d
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ac23
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3a2
push ecx
push edx
call fcn.101e3768
add esp, 8
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012ac7a
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ac70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3a2
push ecx
push edx
call fcn.101e3768
add esp, 8
mov eax, dword [0x10225764]
xorps xmm0, xmm0
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], eax
movzx eax, word [0x10225768]
mov word [ebp - 0x4c], ax
mov al, byte [0x1022576a]
mov dword [ebp - 0x40], 7
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x4a], al
mov byte [ebp - 0x49], 0
movzx eax, word [0x10225774]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 4], 7
movq xmm0, qword [str.Connection]
mov dword [ebp - 0x28], 0xa
mov dword [ebp - 0x24], 0xf
movq qword [ebp - 0x38], xmm0
mov word [ebp - 0x30], ax
mov byte [ebp - 0x2e], 0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x38]
mov ecx, edi
push eax
call fcn.1010bbe0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 7
cmp ecx, 0xf
jbe 0x1012ad2e
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ad24
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3a7
push ecx
push edx
call fcn.101e3768
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012ad7b
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ad71
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3a7
push ecx
push edx
call fcn.101e3768
add esp, 8
lea eax, [ebp - 0x134]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Origin]
mov ecx, eax
mov dword [ebp - 0x28], 0x14
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], eax
movups xmmword [ecx], xmm0
mov eax, dword [0x1022573c]
mov dword [ecx + 0x10], eax
mov byte [ecx + 0x14], 0
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x144]
push ecx
lea ecx, [edi + 0x18]
call fcn.100e9ab0
mov esi, dword [ebp - 0x13c]
cmp byte [esi + 0xd], 0
jne 0x1012ae15
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x18]
call fcn.10103de0
test al, al
jne 0x1012ae15
cmp esi, dword [edi + 0x18]
je 0x1012ae15
add esi, 0x38
jmp 0x1012ae1a
mov esi, 0x10282060
mov ecx, dword [ebp - 0x24]
mov esi, dword [esi]
cmp ecx, 0xf
jbe 0x1012ae50
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012ae46
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3ac
push ecx
push edx
call fcn.101e3768
add esp, 8
test esi, esi
jne 0x1012afd0
mov eax, dword [str.Origin]
xorps xmm0, xmm0
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], eax
mov ax, word [0x10225760]
mov dword [ebp - 0x40], 6
mov dword [ebp - 0x3c], 0xf
mov word [ebp - 0x4c], ax
mov byte [ebp - 0x4a], 0
mov eax, dword [ebp - 0x148]
lea ecx, [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x144]
mov dword [ebp - 4], 9
push ecx
lea ecx, [eax + 0x18]
call fcn.100e9ab0
mov esi, dword [ebp - 0x13c]
cmp byte [esi + 0xd], 0
jne 0x1012aed9
mov ecx, dword [ebp - 0x148]
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x50]
push eax
lea ecx, [ecx + 0x18]
call fcn.10103de0
test al, al
jne 0x1012aed9
mov eax, dword [ebp - 0x148]
cmp esi, dword [eax + 0x18]
je 0x1012aed9
add esi, 0x28
jmp 0x1012aede
mov esi, 0x10282050
lea eax, [ebp - 0x134]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Origin]
mov ecx, eax
mov dword [ebp - 0x28], 0x14
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], ecx
movups xmmword [ecx], xmm0
mov eax, dword [0x1022573c]
mov dword [ecx + 0x10], eax
mov byte [ecx + 0x14], 0
push esi
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0xa
push eax
mov ecx, edi
call fcn.1010bbe0
mov ecx, dword [ebp - 0x24]
mov byte [ebp - 4], 9
cmp ecx, 0xf
jbe 0x1012af83
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012af79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3b1
push ecx
push edx
call fcn.101e3768
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1012afd0
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012afc6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3b1
push ecx
push edx
call fcn.101e3768
add esp, 8
lea eax, [ebp - 0x134]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x38]
mov dword [ebp - 0x24], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x38], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Location]
mov ecx, eax
mov dword [ebp - 0x28], 0x16
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x24], eax
movups xmmword [ecx], xmm0
mov eax, dword [0x10225828]
mov dword [ecx + 0x10], eax
mov ax, word [0x1022582c]
mov word [ecx + 0x14], ax
mov byte [ecx + 0x16], 0
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x144]
push ecx
lea ecx, [edi + 0x18]
call fcn.100e9ab0
mov esi, dword [ebp - 0x13c]
cmp byte [esi + 0xd], 0
jne 0x1012b074
lea eax, [esi + 0x10]
push eax
lea eax, [ebp - 0x38]
push eax
lea ecx, [edi + 0x18]
call fcn.10103de0
test al, al
jne 0x1012b074
cmp esi, dword [edi + 0x18]
je 0x1012b074
add esi, 0x38
jmp 0x1012b079
mov esi, 0x10282060
mov ecx, dword [ebp - 0x24]
mov esi, dword [esi]
cmp ecx, 0xf
jbe 0x1012b0af
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012b0a5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3b6
push ecx
push edx
call fcn.101e3768
add esp, 8
test esi, esi
jne 0x1012b28c
mov ecx, dword [ebp - 0x14c]
lea edx, [ebp - 0x140]
push dword [ebp - 0x148]
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
mov esi, dword [ebp - 0x140]
lea ecx, [ebp - 0x130]
push 1
mov dword [ebp - 4], 0xb
call fcn.100f9c90
cmp dword [esi + 0x14], 0xf
mov eax, esi
mov byte [ebp - 4], 0xc
jbe 0x1012b0f7
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.100ea400
push 0x1025f070
push eax
lea edi, [esi + 0x18]
call fcn.100cda10
mov ecx, dword [edi + 0x10]
add esp, 0x14
cmp dword [edi + 0x14], 0xf
jbe 0x1012b123
mov edi, dword [edi]
push ecx
push edi
push eax
call fcn.100ea400
add esp, 0xc
mov eax, 0x50
cmp byte [esi + 0x4a], 0
mov ecx, 0x1bb
cmovne eax, ecx
cmp word [esi + 0x48], ax
je 0x1012b165
lea eax, [ebp - 0x120]
push 0x1025f074
push eax
call fcn.100cda10
add esp, 8
mov ecx, eax
movzx eax, word [esi + 0x48]
push eax
call fcn.10102220
mov eax, dword [esi + 0x40]
add esi, 0x30
cmp dword [esi + 0x14], 0xf
jbe 0x1012b173
mov esi, dword [esi]
push eax
lea eax, [ebp - 0x120]
push esi
push eax
call fcn.100ea400
add esp, 0xc
lea eax, [ebp - 0x80]
lea ecx, [ebp - 0x118]
push eax
call fcn.10134560
lea ecx, [ebp - 0x130]
call fcn.10104100
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x40], 0
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0
push eax
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x134], 0x1f
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Location]
mov ecx, eax
mov dword [ebp - 0x40], 0x16
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x50], ecx
movups xmmword [ecx], xmm0
mov eax, dword [0x10225828]
mov dword [ecx + 0x10], eax
mov ax, word [0x1022582c]
mov word [ecx + 0x14], ax
mov byte [ecx + 0x16], 0
mov edi, dword [ebp - 0x138]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0xe
push eax
mov ecx, edi
call fcn.1010bbe0
mov eax, dword [ebp - 0x3c]
cmp eax, 0xf
jbe 0x1012b23a
push eax
push dword [ebp - 0x50]
lea eax, [ebp - 0x50]
push eax
call fcn.100dd560
add esp, 0xc
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
call fcn.100da200
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1012b28c
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1012b286
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1012b286
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, dword [ebp - 0x138]
mov esi, dword [ebp - 0x150]
cmp dword [esi + 0x10], 0
je 0x1012b35e
lea eax, [ebp - 0x134]
mov dword [ebp - 0x58], 0
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x54], 0
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0x1f
push eax
movups xmmword [ebp - 0x68], xmm0
call fcn.100ce050
movups xmm0, xmmword [str.Sec_WebSocket_Protocol]
mov ecx, eax
mov dword [ebp - 0x58], 0x16
mov eax, dword [ebp - 0x134]
add esp, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x68], ecx
movups xmmword [ecx], xmm0
mov eax, dword [0x10225754]
mov dword [ecx + 0x10], eax
mov ax, word [0x10225758]
mov word [ecx + 0x14], ax
mov byte [ecx + 0x16], 0
lea eax, [ebp - 0x68]
mov dword [ebp - 4], 0xf
push eax
lea ecx, [edi + 0x18]
call fcn.10102d50
cmp eax, esi
je 0x1012b32e
cmp dword [esi + 0x14], 0xf
mov ecx, dword [esi + 0x10]
jbe 0x1012b325
mov esi, dword [esi]
push ecx
push esi
mov ecx, eax
call fcn.100dec90
mov ecx, dword [ebp - 0x54]
cmp ecx, 0xf
jbe 0x1012b35e
mov edx, dword [ebp - 0x68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1012b354
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1012b3bb
push ecx
push edx
call fcn.101e3768
add esp, 8
mov eax, dword [ebp - 0x154]
mov dword [eax], 0
mov dword [eax + 4], 0x10282038
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101e3b75
mov esp, ebp
pop ebp
ret 0x10
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
call fcn.101e90af
int3