Function at 0x41bb00
Capabilities:
Get socket status
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x13c
mov eax, dword [0x4353ac]
mov dword [esp + 0x138], eax
xor eax, eax
mov dword [esp + 0x128], eax
push ebx
mov dword [esp + 0x130], eax
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
mov eax, dword [esi + 0x14d8]
xor ebx, ebx
cmp eax, ebx
push edi
mov edi, 1
mov dword [esp + 0x24], 0x10
mov dword [esp + 0x18], 0x8000
mov dword [esp + 0x14], edi
mov dword [esi + 0x14dc], 0xffffffff
mov dword [esi + 0xa798], ebx
jl 0x41bf64
mov ecx, dword [esi + 0x3c]
cmp ecx, ebx
je 0x41bc24
jle 0x41bb8c
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
jmp 0x41bbb1
mov eax, 0xbce4217d
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, ecx
neg eax
cdq
mov ecx, 0xf4240
idiv ecx
mov dword [esp + 0x20], edx
mov eax, dword [esi + 0x14d8]
lea edx, [esp + 0x1c]
push edx
push ebx
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
mov dword [esp + 0x38], eax
push edx
inc eax
push eax
mov dword [esp + 0x3c], edi
call sub.WS2_32.dll_select
cmp eax, ebx
jg 0x41bc0d
je 0x41bca1
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2714
jne 0x41bcd8
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esi + 0x14d8]
push ebx
lea ecx, [esp + 0x30]
push ecx
mov edx, ecx
push edx
inc eax
push eax
call sub.WS2_32.dll_select
cmp eax, ebx
jle 0x41bbd8
mov edx, dword [esi + 0x14d8]
lea ecx, [esp + 0x10]
push ecx
push 0x8004667e
mov dword [esp + 0x18], edi
push edx
jmp 0x41bc39
mov ecx, dword [esi + 0x14d8]
lea eax, [esp + 0x10]
push eax
push 0x8004667e
mov dword [esp + 0x18], ebx
push ecx
call sub.WS2_32.dll_ioctlsocket
mov ecx, dword [esi + 0x14d8]
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x138]
push eax
push ecx
push esi
call dword [esi + 0x14a4]
add esp, 0x10
cmp eax, ebx
mov dword [esi + 0x14dc], eax
jge 0x41bd77
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2714
je 0x41bb75
call sub.WS2_32.dll_WSAGetLastError
cmp eax, 0x2733
je 0x41bb75
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_accept_failed_in_soap_accept__
jmp 0x41bf6b
cmp word [esi], 2
mov dword [esi + 0xa79c], ebx
mov edi, str.SOAP_ENV:Receiver
je 0x41bcb7
mov edi, str.SOAP_ENV:Server
push esi
call fcn.0040f9f0
push esi
mov dword [eax], edi
call fcn.0040fa10
push esi
mov dword [eax], str.Timeout
call fcn.0040fa40
add esp, 0xc
cmp eax, ebx
jmp 0x41bd4f
call sub.WS2_32.dll_WSAGetLastError
mov edi, dword [esi + 0xa794]
cmp edi, 0xffffffff
mov dword [esi + 0xa79c], eax
je 0x41bcf7
cmp word [esi + 0xa468], bx
jne 0x41bd15
push esi
call dword [esi + 0x14a8]
add esp, 4
cmp eax, ebx
mov dword [esi + 0xa794], eax
jne 0x41bd1b
mov dword [esi + 0x14dc], 0xffffffff
mov dword [esi + 0xa794], edi
mov eax, esi
call fcn.0041b200
cmp word [esi], 2
mov ebx, eax
mov edi, str.SOAP_ENV:Sender
je 0x41bd34
mov edi, str.SOAP_ENV:Client
push esi
call fcn.0040f9f0
push esi
mov dword [eax], edi
call fcn.0040fa10
push esi
mov dword [eax], ebx
call fcn.0040fa40
add esp, 0xc
test eax, eax
je 0x41bd57
mov dword [eax], str.TCP_accept_failed_in_soap_accept__
mov dword [esi + 0xa794], 0x14
or eax, 0xffffffff
mov ecx, dword [esp + 0x144]
call fcn.00421df2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x138]
push edx
call sub.WS2_32.dll_ntohl
mov dword [esi + 0xa7a4], eax
mov eax, dword [esp + 0x136]
push eax
call sub.WS2_32.dll_ntohs
mov edx, dword [esi + 8]
movzx ecx, ax
mov al, byte [esi + 0x4c]
shr edx, 3
and edx, edi
test al, al
mov dword [esi + 0xa778], ecx
mov word [esi + 0xa468], dx
jns 0x41bdfc
mov ecx, dword [esi + 0x14dc]
push 4
lea eax, [esp + 0x14]
push eax
push 0x80
push 0xffff
mov dword [esp + 0x20], ebx
push ecx
mov word [esp + 0x24], di
mov word [esp + 0x26], bx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41bdfc
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_LINGER_failed_in_soap_accept__
jmp 0x41bf6b
mov eax, dword [esi + 0x4c]
and eax, 0xffffff7f
je 0x41be3a
push 4
lea edx, [esp + 0x18]
push edx
push eax
mov eax, dword [esi + 0x14dc]
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41be3a
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_failed_in_soap_accept__
jmp 0x41bf6b
cmp word [esi + 0xa468], bx
je 0x41be78
mov edx, dword [esi + 0x14dc]
push 4
lea ecx, [esp + 0x18]
push ecx
push 8
push 0xffff
push edx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41be78
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_KEEPALIVE_failed_in_soap_accept__
jmp 0x41bf6b
mov ecx, dword [esi + 0x14dc]
push 4
lea eax, [esp + 0x1c]
push eax
push 0x1001
push 0xffff
push ecx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41beb0
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_SNDBUF_failed_in_soap_accept__
jmp 0x41bf6b
mov eax, dword [esi + 0x14dc]
push 4
lea edx, [esp + 0x1c]
push edx
push 0x1002
push 0xffff
push eax
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41bee8
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_SO_RCVBUF_failed_in_soap_accept__
jmp 0x41bf6b
mov edx, dword [esi + 0x14dc]
push 4
lea ecx, [esp + 0x18]
push ecx
push edi
push 6
push edx
call sub.WS2_32.dll_setsockopt
test eax, eax
je 0x41bf16
call sub.WS2_32.dll_WSAGetLastError
push 0x14
mov dword [esi + 0xa79c], eax
push str.TCP_setsockopt_TCP_NODELAY_failed_in_soap_accept__
jmp 0x41bf6b
cmp dword [esi + 0x3c], ebx
je 0x41bf4b
mov ecx, dword [esi + 0x14d8]
lea eax, [esp + 0x10]
push eax
push 0x8004667e
push ecx
mov dword [esp + 0x1c], ebx
call sub.WS2_32.dll_ioctlsocket
mov eax, dword [esi + 0x14dc]
lea edx, [esp + 0x10]
push edx
push 0x8004667e
push eax
call sub.WS2_32.dll_ioctlsocket
mov eax, dword [esi + 0x14dc]
mov ecx, dword [esp + 0x144]
call fcn.00421df2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x14
push str.TCP_no_master_socket_in_soap_accept__
mov eax, esi
call fcn.0041b200
push eax
push esi
call fcn.0041a480
mov ecx, dword [esp + 0x154]
add esp, 0x10
or eax, 0xffffffff
call fcn.00421df2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret