Function at 0x100045f0
Capabilities:
Get socket status
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1220
call fcn.10011320
push ebx
push esi
push edi
push eax
xor eax, eax
xor eax, eax
xor eax, eax
xor eax, eax
je 0x10004612
sub al, 0x2d
pop eax
pop eax
mov byte [ebp - 0x1114], 0
mov dword [ebp - 0x1118], 0
mov byte [ebp - 0x1104], 0
mov ecx, 0x3ff
xor eax, eax
lea edi, [ebp - 0x1103]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x1110], 0
mov dword [ebp - 0x104], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x100]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x110c], 0
xor eax, eax
mov dword [ebp - 0x1108], eax
mov dword [ebp - 0x110c], 0x493e0
mov dword [ebp - 0x1108], 0
mov ecx, 1
test ecx, ecx
je 0x1000485b
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x111c], 0
jmp 0x100046b8
mov edx, dword [ebp - 0x111c]
add edx, 1
mov dword [ebp - 0x111c], edx
mov eax, dword [ebp - 0x111c]
cmp eax, dword [ebp - 0x104]
jae 0x100046dc
mov ecx, dword [ebp - 0x111c]
mov edx, dword [ebp + ecx*4 - 0x100]
cmp edx, dword [ebp + 8]
jne 0x100046da
jmp 0x100046dc
jmp 0x100046a9
mov eax, dword [ebp - 0x111c]
cmp eax, dword [ebp - 0x104]
jne 0x10004712
cmp dword [ebp - 0x104], 0x40
jae 0x10004712
mov ecx, dword [ebp - 0x111c]
mov edx, dword [ebp + 8]
mov dword [ebp + ecx*4 - 0x100], edx
mov eax, dword [ebp - 0x104]
add eax, 1
mov dword [ebp - 0x104], eax
xor ecx, ecx
test ecx, ecx
jne 0x1000469d
lea edx, [ebp - 0x110c]
push edx
push 0
push 0
lea eax, [ebp - 0x104]
push eax
mov ecx, dword [ebp + 8]
add ecx, 1
push ecx
call dword [sym.imp.WS2_32.dll_select]
test eax, eax
jg 0x10004742
xor eax, eax
jmp 0x10004880
push 0
push 1
lea edx, [ebp - 0x1114]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.WS2_32.dll_recv]
mov dword [ebp - 0x1110], eax
cmp dword [ebp - 0x1110], 0
jg 0x1000476d
xor eax, eax
jmp 0x10004880
mov ecx, dword [ebp - 0x1118]
mov dl, byte [ebp - 0x1114]
mov byte [ebp + ecx - 0x1104], dl
cmp dword [ebp - 0x1118], 4
jl 0x10004836
mov eax, dword [ebp - 0x1118]
movsx ecx, byte [ebp + eax - 0x1104]
cmp ecx, 0xa
jne 0x10004836
mov edx, dword [ebp - 0x1118]
movsx eax, byte [ebp + edx - 0x1105]
cmp eax, 0xd
jne 0x10004836
mov ecx, dword [ebp - 0x1118]
movsx edx, byte [ebp + ecx - 0x1106]
cmp edx, 0xa
jne 0x10004836
mov eax, dword [ebp - 0x1118]
movsx ecx, byte [ebp + eax - 0x1107]
cmp ecx, 0xd
jne 0x10004836
mov byte [ebp - 0x1220], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x121f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [ebp - 0x1220]
push edx
push str.Content_Length
lea eax, [ebp - 0x1104]
push eax
call fcn.100044d0
add esp, 0xc
and eax, eax
jne 0x1000481c
mov eax, 1
jmp 0x10004880
cmp dword [ebp + 0xc], 0
je 0x10004834
lea ecx, [ebp - 0x1220]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
jmp 0x1000485b
mov eax, dword [ebp - 0x1118]
mov ecx, dword [ebp - 0x1118]
add ecx, 1
mov dword [ebp - 0x1118], ecx
cmp eax, 0x1000
jl 0x10004856
xor eax, eax
jmp 0x10004880
jmp 0x10004686
cmp dword [ebp + 0x10], 0
je 0x1000487b
push str.200_OK_r_n
lea edx, [ebp - 0x1104]
push edx
call dword [sym.imp.SHLWAPI.dll_StrStrA]
test eax, eax
jne 0x1000487b
xor eax, eax
jmp 0x10004880
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret