Function at 0x403860
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x41020a]
mov ecx, dword [0x9428d0d5]
push ebx
push esi
cmp eax, ecx
push edi
sub byte [ebx + edx*2 + 0x57c13b56], dl
jge 0x873a7a
jne 0x40386f
or al, 0xdb
mov eax, dword [esi]
mov dword [esi + 0xc], ebx
cmp eax, ebx
mov dword [esi + 0x10], ebx
mov dword [esi - 0x4fff7dc], ebx
mov dword [esi + 0xd520], ebx
mov dword [esi + 0x8a0], ebx
mov ebp, edi
xchg esp, eax
je 0x4038aa
push eax
call 0xf94112e0
jmp 0x4038b9
inc edx
or eax, 0x41404c
push ebx
push ebx
dec ebp
push esi
call fcn.00404ef2
mov edx, dword [esi]
mov eax, dword [0x5017fc]
mov ebx, 0x10488b53
lea edi, [esi + 4]
jge 0x40392f
lcall 0x87, 0x2d1fb657
sub al, 0xc3
push 0x3868210e
call 0x6f4c391d
in eax, 0xff
call dword [edi - 0x4a74583c]
add dword [ecx], 0x6a
jno 0x403917
call fcn.00408de7
cmp edx, edi
scasb al, byte es:[edi]
pop dword [ebx]
sbb al, 0x28
call 0x4328393b
in eax, 0x73
inc dword [ebx + 0x6ca15ec4]
add al, byte [ecx + 0x24]
cmp eax, ebx
cmp byte [ecx + 0x50], dl
mov esp, edx
push 0x71
push eax
call fcn.00408db0
cmp eax, ebx
je 0x40392e
cmp eax, 0x11187
je 0x40392e
push eax
push str.socket_send_buffer
call 0x8e401e40
add esp, 8
mov ecx, dword [0x4102d5]
or eax, 0x4102d5
mov edx, dword [edi]
push ecx
push 0x80
and eax, ebp
outsb dx, byte [esi]
push esp
add byte [eax], al
cmp ebp, ecx
je 0x40395b
cmp eax, 0x111be
je 0x4039b6
push eax
out 0xfc, eax
out 0x40, eax
invalid
mov al, byte [0x30a0]
mov dword [0x410ba0], eax
mov dword [0x410ba4], edx
mov edx, dword [edi]
mov dword [esi + 0x6d000830], eax
mov eax, dword [0x74410ba4]
mov dword [esi + 0x57000834], eax
mov ecx, dword [0x41171e]
push ecx
push edx
call fcn.00406840
mov ebx, eax
test ebx, ebx
je 0x40905d
cmp ebx, 0x520975f1
je 0x405026
bound ecx, qword [ecx - 0x4c]
and ecx, esp
add byte [ebp + ebp*2 + 0x5b], dh
mov al, byte [0xeb4117f8]
mov eax, dword [edi]
xchg byte [ebp - 0x14], cl
mov dword [ebp + 0x73], 1
jae 0x4039b9
add byte [eax], al
add byte [ecx + 0x52], dl
add byte [eax], al
push ecx
push edx
mov dword [ebp - 8], eax
jp 0x4039fd
sub byte [eax], al
mov eax, 0xe850078b
push edx
int3
enter 0x40c1, 0xffffffffffffffdd
inc ecx
retf
je 0x40502a
xchg ebx, eax
test edi, edi
mov esi, ecx
std
test esi, edi
add byte ds:[edi], al
cmp edx, dword [eax]
inc ebx
add byte [edx - 0x48000000], 0x50
add byte [ebx - 0x7a83fb18], 0xce
jne 0x404ffa
test ecx, ecx
imul esi, ecx, 0x6febdb89
mov esp, dword [edx + 0x14]
xchg dword [ebx + 0x14], esi
test esp, esp
je 0x405037
mov ebx, ebx
jmp 0x40506d
fadd dword [ebx + 0xc]
test dword [eax], eax
je 0x405015
push eax
call 0xbfcba2d0
mov eax, esi
mov esp, dword [eax]
test esi, esi
je 0x40502a
div byte [ebp + ecx + 0x39]
jle 0x405028
cmp dword [esi + 8], edi
jae 0x405069
mov eax, esi
mov esi, dword [esi]
test esi, esi
jne 0x404fd5
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x405083
push eax
call fcn.0040a420
je 0x405039
and byte [eax], al
xchg edx, eax
call dword [0xdfd4c15c]
mov esi, eax
popal
add al, 0x85
loope 0x405059
and ecx, ebx
add byte [eax], al
add byte [ebp - 0x7972e7a9], cl
push cs
and byte [eax], al
add bh, al
mov al, byte [0x530000df]
sbb byte [ebx], bh
or byte [ecx + 0x46891056], cl
pop ebp
jmp 0x40509d
mov edx, dword [esi]
mov dword [eax], edx
mov edx, dword [esi + 0x846fb11]
add edi, eax
aaa
inc ebx
add al, 0x8b
iretd
pop ebx
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40501a
push eax
imul byte [edi - 0x72ffffae]
aas
sbb byte [eax + 0x75f1], ah
xchg byte [ecx + 0x7e3aaa4e], cl
adc byte [eax + 0x4d], cl
cmp bh, byte [esi + 0x10]
dec eax
dec ebp
adc byte [edx + 0x4768936], bh
lea eax, [edi + 0x40]
mov dword [edi + 0x79], eax
mov dword [esi + 0x78], eax
mov dword [ebx + 0xcbe8b18], eax
mov dword [edi + 0x30], esi
mov dword [edi + 0x2c], esi
call 0x20d6dab8
cmp ebx, esi
mov dword [ecx - 0x7b887677], esi
mov dword [edi + 0x14], esi
mov dword [edi + 0x38], esi
mov dword [edi - 0x61], esi
mov dword [edi + 0x1c], esi
mov dword [edx + 0x24], esp
mov dword [edi + 0x28], esi
dec ebp
sbb dword [edx - 0x75], esi
push ebx
loope 0x405136
call fcn.00404910
wait
invalid
pop edi
loop 0x405186
or al, 0
push 0xc25d5b00
adc byte [eax], al
mov dword [edi + 8], esi
mov dword [edi - 0x29], esi
mov eax, dword [ebp + 8]
mov dword [eax], edi
pop edi
mov byte [0x5d32c033], al
arpl word [eax], dx
push ss
nop
xchg edi, eax
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
push ebp
in al, 0x89
pop ebp
hlt
or byte [ebx], dh
ror byte [ebx - 0x1e7ec7b2], cl
add byte [edx], al
add byte [eax], al
cmp ecx, 0xa00
sete dl
cmp edx, eax
invalid
jle 0x40909f
add byte [ebx - 0x318a0008], al
mov esi, dword [0x40c10f]
push esi
salc
jnp 0x40902f
cmp eax, 0xe58b5e07
cli
ret 0xc
and ah, 0xc2
sub al, 0x46
cmp byte [ebx], dh
ror byte [edi - 0x3da21a75], 0xc
push es
mov eax, dword [ebp + 0x61]
lea edx, [ebp + 7]
push 4
push edx
mov ebx, dword [esp + eax]
push 0xba001002
push 0x9ff
push ecx
call dword [sym.imp.WSOCK32.dll_setsockopt]
in al, dx
clc
dec dword [edi]
test dword [ebp - 0x11], ebx
invalid