Function at 0x100d1530
Capabilities:
Receive data
Receive data on socket
Set socket configuration

Disassembly:
sub esp, 0x220
mov eax, dword [0x101ad3b4]
xor eax, esp
mov dword [esp + 0x21c], eax
push ebx
mov ebx, dword [esp + 0x238]
test ebx, ebx
push esi
mov esi, dword [esp + 0x230]
mov dword [esp + 0x1c], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 0xffffffff
je 0x100d1858
push ebp
mov ebp, dword [esp + 0x230]
push edi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
push ecx
push 0x1006
push 0xffff
push ebp
mov dword [ebx], 0
mov dword [esp + 0x3c], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
cmp eax, 0xffffffff
jne 0x100d15b3
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebx], eax
or esi, 0xffffffff
jmp 0x100d16a6
mov edx, dword [esp + 0x240]
push 4
lea eax, [esp + 0x18]
push eax
push 0x1006
push 0xffff
push ebp
mov dword [esp + 0x28], edx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x100d15eb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebx], eax
or esi, 0xffffffff
jmp 0x100d16a6
test esi, esi
je 0x100d1755
mov eax, dword [esp + 0x23c]
test eax, eax
je 0x100d1755
xor edi, edi
mov dword [esp + 0x1c], edi
lea ebx, [eax + 4]
jmp 0x100d1610
cmp ebx, 0x200
mov esi, 0x200
jae 0x100d161f
mov esi, ebx
push 0x200
lea ecx, [esp + 0x30]
push 0
push ecx
call fcn.100f6b80
add esp, 0xc
push 0
push esi
lea edx, [esp + 0x34]
push edx
push ebp
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
cmp esi, 0xffffffff
je 0x100d1700
test esi, esi
je 0x100d174e
cmp dword [esp + 0x1c], 0
jne 0x100d167a
mov edx, dword [esp + 0x24]
lea eax, [esi - 4]
push eax
lea ecx, [esp + 0x34]
push ecx
add edx, edi
push edx
call fcn.100f7fd0
add esp, 0xc
lea edi, [edi + esi - 4]
jmp 0x100d1691
mov ecx, dword [esp + 0x24]
push esi
lea eax, [esp + 0x30]
push eax
add ecx, edi
push ecx
call fcn.100f7fd0
add esp, 0xc
add edi, esi
add dword [esp + 0x1c], 1
sub ebx, esi
test ebx, ebx
jg 0x100d1610
mov esi, edi
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x100d16e5
mov edi, dword [sym.imp.WS2_32.dll_setsockopt]
push 4
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 0x1006
push 0xffff
push ebp
call edi
cmp eax, 0xffffffff
jne 0x100d16e5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebx], eax
mov eax, dword [esp + 0x18]
or esi, 0xffffffff
cmp eax, esi
jne 0x100d16b5
pop edi
pop ebp
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0x21c]
xor ecx, esp
call fcn.100f611a
add esp, 0x220
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2746
mov edx, dword [esp + 0x10]
mov dword [edx], eax
je 0x100d1742
cmp eax, 0x2745
je 0x100d1742
cmp eax, 0x274a
je 0x100d1742
cmp eax, 0x2744
je 0x100d1742
xor ecx, ecx
cmp eax, 0x274c
setne cl
mov ebx, edx
lea ecx, [ecx*4 - 5]
mov esi, ecx
jmp 0x100d16a6
mov esi, 0xfffffffa
mov ebx, edx
jmp 0x100d16a6
xor esi, esi
jmp 0x100d16a2
mov edi, dword [sym.imp.WS2_32.dll_recv]
jmp 0x100d1760
xor esi, esi
push 2
push 4
lea edx, [esp + 0x28]
push edx
push ebp
mov dword [esp + 0x30], 0
call edi
cmp eax, 0xffffffff
je 0x100d17c4
test eax, eax
je 0x100d17bd
cmp eax, 4
jae 0x100d1792
cmp esi, 3
jge 0x100d15e3
add esi, 1
jmp 0x100d1762
jne 0x100d15e3
mov esi, dword [esp + 0x20]
cmp esi, 0xc521974f
jne 0x100d1846
push 0
push 4
lea eax, [esp + 0x28]
push eax
push ebp
call edi
cmp eax, 0xffffffff
je 0x100d1800
test eax, eax
jne 0x100d1760
xor esi, esi
jmp 0x100d16a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2746
mov dword [ebx], eax
je 0x100d183c
cmp eax, 0x2745
je 0x100d183c
cmp eax, 0x274a
je 0x100d183c
cmp eax, 0x2744
je 0x100d183c
xor ecx, ecx
cmp eax, 0x274c
setne cl
lea ecx, [ecx*4 - 5]
mov esi, ecx
jmp 0x100d16a6
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2746
mov dword [ebx], eax
je 0x100d183c
cmp eax, 0x2745
je 0x100d183c
cmp eax, 0x274a
je 0x100d183c
cmp eax, 0x2744
je 0x100d183c
xor edx, edx
cmp eax, 0x274c
setne dl
lea edx, [edx*4 - 5]
mov esi, edx
jmp 0x100d16a6
mov esi, 0xfffffffa
jmp 0x100d16a6
test esi, esi
jg 0x100d16a6
mov esi, 0xfffffff8
jmp 0x100d16a6
mov ecx, dword [esp + 0x224]
pop esi
pop ebx
xor ecx, esp
or eax, 0xffffffff
call fcn.100f611a
add esp, 0x220
ret