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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1220
call fcn.10011630
push ebx
push esi
push edi
push eax
xor eax, eax
add eax, eax
xor eax, eax
xor eax, eax
je 0x10004632
inc ebx
push edi
je 0x1000468b
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
ror byte [ecx - 0x11077b], 0xff
mov dword [ebp - 0x110c], 0x493e0
mov dword [ebp - 0x1108], 0
mov ecx, 1
test ecx, ecx
je 0x1000487b
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x111c], 0
jmp 0x100046d8
mov edx, dword [ebp - 0x111c]
add edx, 1
mov dword [ebp - 0x111c], edx
mov eax, dword [ebp - 0x111c]
cmp eax, dword [ebp - 0x104]
jae 0x100046fc
mov ecx, dword [ebp - 0x111c]
mov edx, dword [ebp + ecx*4 - 0x100]
cmp edx, dword [ebp + 8]
jne 0x100046fa
jmp 0x100046fc
jmp 0x100046c9
mov eax, dword [ebp - 0x111c]
cmp eax, dword [ebp - 0x104]
jne 0x10004732
cmp dword [ebp - 0x104], 0x40
jae 0x10004732
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 0x100046bd
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 0x10004762
xor eax, eax
jmp 0x100048a0
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 0x1000478d
xor eax, eax
jmp 0x100048a0
mov ecx, dword [ebp - 0x1118]
mov dl, byte [ebp - 0x1114]
mov byte [ebp + ecx - 0x1104], dl
cmp dword [ebp - 0x1118], 4
jl 0x10004856
mov eax, dword [ebp - 0x1118]
movsx ecx, byte [ebp + eax - 0x1104]
cmp ecx, 0xa
jne 0x10004856
mov edx, dword [ebp - 0x1118]
movsx eax, byte [ebp + edx - 0x1105]
cmp eax, 0xd
jne 0x10004856
mov ecx, dword [ebp - 0x1118]
movsx edx, byte [ebp + ecx - 0x1106]
cmp edx, 0xa
jne 0x10004856
mov eax, dword [ebp - 0x1118]
movsx ecx, byte [ebp + eax - 0x1107]
cmp ecx, 0xd
jne 0x10004856
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.100044f0
add esp, 0xc
test eax, eax
jne 0x1000483c
mov eax, 1
jmp 0x100048a0
cmp dword [ebp + 0xc], 0
je 0x10004854
lea ecx, [ebp - 0x1220]
push ecx
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
jmp 0x1000487b
mov eax, dword [ebp - 0x1118]
mov ecx, dword [ebp - 0x1118]
add ecx, 1
mov dword [ebp - 0x1118], ecx
cmp eax, 0x1000
jl 0x10004876
xor eax, eax
jmp 0x100048a0
jmp 0x100046a6
cmp dword [ebp + 0x10], 0
je 0x1000489b
push str.200_OK_r_n
lea edx, [ebp - 0x1104]
push edx
call dword [sym.imp.SHELL32.dll_StrStrA]
test eax, eax
jne 0x1000489b
xor eax, eax
jmp 0x100048a0
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret