Function at 0x10014790
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2044
call fcn.1008e430
mov eax, dword [0x100b5004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ebx, ecx
mov dword [ebp - 0x2038], eax
xor esi, esi
nop dword [eax]
lea eax, [ebp - 0x2044]
push eax
call edi
imul ecx, dword [0x100de4f0], 0x3fff
mov eax, dword [0x100de4f0]
mov edx, dword [ebp - 0x2044]
shr edx, 6
shl eax, 5
sub edx, eax
add ecx, 0x4b0f4aa
add ecx, edx
mov eax, 0x80808081
and ecx, 0xfffffff
mul ecx
mov dword [0x100de4f0], ecx
shr edx, 7
add dl, cl
mov byte [ebp + esi - 0x14], dl
inc esi
cmp esi, 0x10
jl 0x100147c0
push ecx
lea eax, [ebp - 0x34]
mov edx, 0x10
push eax
lea ecx, [ebp - 0x14]
call fcn.1000f0e0
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x2034]
push str.GET___HTTP_1.1_r_n
push eax
call edi
movzx ecx, word [ebp + 0xc]
mov esi, eax
push ecx
push dword [ebp - 0x2038]
lea ecx, [ebp - 0x2034]
add ecx, esi
push str.Host:__s:_hu_r_n
push ecx
call edi
add esi, eax
lea eax, [ebp - 0x2034]
add eax, esi
push str.Connection:_Upgrade_r_n
push eax
call edi
add esi, eax
lea eax, [ebp - 0x2034]
add eax, esi
push str.Upgrade:_Websocket_r_n
push eax
call edi
add esi, eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2034]
add eax, esi
push str.Sec_WebSocket_Key:__s_r_n
push eax
call edi
add esi, eax
lea eax, [ebp - 0x2034]
add eax, esi
push 0x100aa378
push eax
call edi
add eax, esi
mov dword [ebp - 0x2038], 0
add esp, 0x44
mov dword [ebp - 8], eax
xor edi, edi
mov edx, dword [ebx]
lea ecx, [ebp - 0x2038]
push 0xea60
push ecx
sub eax, edi
mov ecx, ebx
push eax
lea eax, [ebp - 0x2034]
add eax, edi
push eax
call dword [edx + 8]
mov esi, eax
test esi, esi
jne 0x10014ab3
add edi, dword [ebp - 0x2038]
mov eax, dword [ebp - 8]
cmp edi, eax
jne 0x100148b3
test esi, esi
jne 0x10014ab3
xor edi, edi
mov dword [ebp - 0x203c], edi
lea edx, [ebx + 0x1c]
nop dword [eax]
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2038], 0
mov dword [ebp - 8], eax
mov eax, 0x2000
push 0
sub eax, edi
push edx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x2038]
push eax
lea eax, [ebp - 0x203c]
push eax
push 1
lea eax, [ebp - 0xc]
push eax
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_WSARecv]
test eax, eax
je 0x10014955
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
cmp esi, 0x3e5
jne 0x10014a21
mov eax, dword [ebx + 0x30]
push 1
mov dword [ebp - 0x2044], eax
mov eax, dword [ebx + 0x2c]
push 0xea60
mov dword [ebp - 0x2040], eax
lea eax, [ebp - 0x2044]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
sub eax, 0
je 0x10014a13
sub eax, 1
je 0x100149cf
sub eax, 0x101
jne 0x10014a7b
mov dword [ebp - 0x2038], eax
lea eax, [ebp - 0x2038]
push eax
push 0
lea eax, [ebp - 0x203c]
push eax
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
test eax, eax
jne 0x100149c8
push dword [ebx + 4]
call dword [sym.imp.KERNEL32.dll_CancelIo]
mov esi, 0x274c
jmp 0x10014a18
lea eax, [ebp - 0x2038]
mov dword [ebp - 0x2038], 0
push eax
xor esi, esi
lea eax, [ebp - 0x203c]
push esi
push eax
lea eax, [ebx + 0x1c]
push eax
push dword [ebx + 4]
call dword [sym.imp.WS2_32.dll_WSAGetOverlappedResult]
test eax, eax
jne 0x10014a03
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
cmp dword [ebp - 0x203c], 0
jne 0x10014a18
mov esi, 0x2746
jmp 0x10014a18
mov esi, 0x4c7
push dword [ebx + 0x2c]
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test esi, esi
jne 0x10014ab3
mov eax, dword [ebp - 0x203c]
test eax, eax
je 0x10014a82
add edi, eax
lea edx, [ebx + 0x1c]
mov ecx, 4
cmp edi, ecx
jl 0x10014900
lea eax, [ebp - 0x2033]
nop dword [eax + eax]
cmp byte [eax - 1], 0xd
jne 0x10014a67
cmp byte [eax], 0xa
jne 0x10014a67
cmp byte [eax + 1], 0xd
jne 0x10014a67
cmp byte [eax + 2], 0xa
je 0x10014a72
inc ecx
inc eax
cmp ecx, edi
jle 0x10014a50
jmp 0x100148f9
cmp ecx, edi
jle 0x10014a87
jmp 0x100148f9
mov esi, 0x54f
jmp 0x10014ab3
mov esi, 0x2746
lea ecx, [ebp - 0x2034]
mov edx, str.HTTP_1.1_101
mov edi, 9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10014aae
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10014a97
mov al, byte [ecx]
cmp al, byte [edx]
je 0x10014ab3
mov esi, 0x2746
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007bc9e
mov esp, ebp
pop ebp
ret 8