Function at 0x10007410
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0xc
mov eax, dword [esp + 0x18]
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x2c]
push edi
mov edi, dword [esp + 0x24]
push esi
push ebx
push eax
push edi
push ebp
push str.tprecv__d___x___x___d___x_
push 1
push 1
push str.tprecv
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 0
call fcn.10011640
add esp, 0x24
mov dword [0x100251a4], 0
test ebp, ebp
mov dword [esi], 0
jl 0x10007891
push 0
push ebp
call fcn.10005a10
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jl 0x10007891
mov ecx, ebx
or ecx, 0x123
cmp ecx, 0x123
jne 0x10007876
mov esi, dword [edi]
test esi, esi
je 0x10007876
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x10007876
mov edx, dword [0x100251ac]
lea edi, [eax + eax*4]
shl edi, 2
mov ecx, dword [edi + edx + 4]
test ch, 8
je 0x100074d5
mov dword [0x100251a4], 9
push 9
jmp 0x1000789d
mov ecx, dword [esi - 0x60]
add esi, 0xffffffa0
cmp ecx, 0x270f
je 0x10007501
push 0x12
mov dword [0x100251a4], 0x12
call sym.tmax.dll_tpstrerror
mov ecx, dword [0x100251a4]
push eax
push ecx
jmp 0x100078a9
mov edx, dword [esi + 0xc]
mov dword [esi + 0x10], 7
mov dword [esi + 0x14], eax
mov dword [esi + 0x54], edx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebp
mov edx, dword [0x100251ac]
xor ebp, ebp
mov eax, dword [edi + edx + 0xc]
lea ecx, [edi + edx + 0xc]
cmp eax, ebp
je 0x100075c2
mov edx, dword [eax]
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0xc]
mov dword [ecx], edx
mov ecx, dword [0x100251ac]
cmp dword [edi + ecx + 0xc], ebp
jne 0x1000754a
mov dword [edi + ecx + 0x10], ebp
mov ebx, dword [sym.imp.MSVCRT.dll_free]
push eax
call ebx
push ebp
lea eax, [esp + 0x34]
push esi
push eax
call fcn.1000bd60
add esp, 0x10
test eax, eax
jge 0x100075a1
mov ecx, dword [esp + 0x2c]
push ecx
call ebx
mov edx, dword [0x100251a4]
push edx
call sym.tmax.dll_tpstrerror
push eax
mov eax, dword [0x100251a4]
push eax
push str.tprecv___1___d_:__s_
push 4
push 1
push str.tprecv
call fcn.10011640
add esp, 0x20
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push esi
call ebx
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
add esp, 4
lea ecx, [eax + 0x60]
mov dword [edx], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x54]
mov dword [edx], ecx
jmp 0x100076c6
test byte [edi + edx + 8], 1
je 0x10007605
test byte [edi + edx + 4], 0x10
je 0x100075da
mov dword [0x10025258], 2
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x20]
push ebp
mov dword [0x100251a4], 0x16
push ecx
mov dword [eax], 1
call fcn.10005920
mov edx, dword [0x100251a4]
push edx
jmp 0x1000780a
mov eax, dword [0x10025228]
mov dword [esp + 0x10], ebp
cmp eax, ebp
jne 0x10007624
mov eax, dword [0x100251d4]
cmp eax, ebp
jle 0x10007624
test bl, 0x21
jne 0x10007624
mov dword [esp + 0x10], eax
mov ebp, ebx
mov ebx, dword [sym.imp.WS2_32.dll_ioctlsocket]
and ebp, 1
je 0x10007644
mov edx, dword [0x10025278]
lea ecx, [esp + 0x14]
push ecx
push 0x8004667e
push edx
call ebx
mov eax, dword [esp + 0x10]
push 0
push eax
push esi
call fcn.1000b4c0
add esp, 0xc
mov dword [esp + 0x2c], eax
test ebp, ebp
je 0x10007673
mov edx, dword [0x10025278]
lea ecx, [esp + 0x18]
push ecx
push 0x8004667e
push edx
call ebx
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x100076a6
mov eax, dword [0x100251ac]
test byte [edi + eax + 4], 0x10
je 0x1000768d
mov dword [0x10025258], 2
mov ecx, dword [0x100251a4]
push ecx
call sym.tmax.dll_tpstrerror
mov edx, dword [0x100251a4]
push eax
push edx
jmp 0x100078a9
cmp esi, eax
je 0x100076b3
mov edx, dword [esp + 0x24]
lea ecx, [eax + 0x60]
mov dword [edx], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [eax + 0x54]
mov dword [edx], ecx
mov dword [0x100251a4], 0
mov ecx, dword [eax + 0x10]
xor esi, esi
cmp ecx, 0x3ef
mov ebx, 0x16
jne 0x100076f6
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
push 0
push ecx
mov dword [0x100251a0], eax
mov esi, 8
call fcn.10005920
add esp, 8
jmp 0x1000776d
cmp ecx, 6
jne 0x1000772a
mov ecx, dword [eax + 0x58]
test ch, 0x10
je 0x1000776d
mov eax, dword [0x100251ac]
mov esi, 0x20
mov edx, dword [edi + eax + 4]
or dh, 8
mov dword [edi + eax + 4], edx
mov eax, dword [0x100251ac]
mov ecx, dword [edi + eax + 4]
and ch, 0xef
mov dword [edi + eax + 4], ecx
jmp 0x1000776d
cmp ecx, 0xbbf
jne 0x10007737
mov esi, dword [eax + 0x58]
jmp 0x10007767
cmp ecx, 0x7d5
je 0x10007762
cmp ecx, 8
je 0x10007762
push 0xc
mov dword [0x100251a4], 0xc
call sym.tmax.dll_tpstrerror
mov edx, dword [0x100251a4]
push eax
push edx
jmp 0x100078a9
mov esi, 1
mov dword [0x100251a4], ebx
mov eax, dword [esp + 0x30]
mov dword [eax], esi
mov ecx, dword [0x100251ac]
mov dword [edi + ecx + 8], esi
mov ecx, dword [0x100251ac]
mov eax, dword [edi + ecx + 8]
test al, 0x20
je 0x10007797
and al, 0xdf
mov dword [edi + ecx + 8], eax
mov ecx, dword [0x100251ac]
mov eax, dword [edi + ecx + 8]
test eax, eax
je 0x100077d5
test al, 8
jne 0x100077d5
test byte [edi + ecx + 4], 0x10
je 0x100077b4
mov dword [0x10025258], 2
mov edx, dword [esp + 0x20]
push 0
push edx
call fcn.10005920
mov eax, dword [0x100251a4]
push eax
call sym.tmax.dll_tpstrerror
mov ecx, dword [0x100251a4]
push eax
push ecx
jmp 0x10007816
mov eax, dword [0x100251a4]
test eax, eax
je 0x100077e2
cmp eax, ebx
jne 0x100077b4
cmp dword [0x10025258], 1
jne 0x10007837
test byte [edi + ecx + 4], 0x10
je 0x10007837
mov edx, dword [esp + 0x20]
push 0
push edx
call fcn.10005920
mov dword [0x100251a4], 0xd
push 0xd
call sym.tmax.dll_tpstrerror
push eax
mov eax, dword [0x100251a4]
push eax
push str.tprecv___1___d_:__s_
push 4
push 1
push str.tprecv
call fcn.10011640
add esp, 0x24
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
test esi, esi
je 0x10007851
push ebx
mov dword [0x100251a4], ebx
call sym.tmax.dll_tpstrerror
mov ecx, dword [0x100251a4]
push eax
push ecx
jmp 0x100078a9
push 1
push str.tprecv___d
push 2
push 1
push str.tprecv
call fcn.10011640
add esp, 0x14
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
push 4
mov dword [0x100251a4], 4
call sym.tmax.dll_tpstrerror
mov edx, dword [0x100251a4]
push eax
push edx
jmp 0x100078a9
mov dword [0x100251a4], 2
push 2
call sym.tmax.dll_tpstrerror
push eax
mov eax, dword [0x100251a4]
push eax
push str.tprecv___1___d_:__s_
push 4
push 1
push str.tprecv
call fcn.10011640
add esp, 0x1c
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret