Function at 0x1000151f
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe2c
pushal
xor eax, eax
inc eax
add dword [ebp - 0x1c8], ecx
mov edx, 0x2000
shl edx, 3
add edx, eax
lea edx, [ebp - 0x192]
push edx
push eax
mov ecx, 0x1000a278
call dword [ecx + 0x605]
push 0x10001951
push dword fs:[0]
mov eax, esp
mov dword fs:[0], eax
mov dword [ebp - 0x1cc], eax
call fcn.10001a20
call fcn.100029b9
mov dword [ebp - 0x1d0], eax
xor ecx, ecx
inc ecx
push ecx
push 0x100041b8
push 8
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
xor ecx, ecx
inc ecx
push ecx
push 0x100041b8
push 4
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
cmp dword [ebp + 0xc], 0
jne 0x100015ba
mov eax, dword [ebp + 8]
jmp 0x100015e2
push 0xfcb9c6b
add dword [esp], 0x34a511
call dword [0x1000a855]
or eax, eax
je 0x1000196b
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, 0x215042d7
xor eax, ecx
mov dword [ebp - 0x1a0], eax
mov ecx, 0x1bb
xchg cl, ch
mov word [ebp - 0x1a2], cx
mov word [ebp - 0x1a4], 2
push 0x10
lea ecx, [ebp - 0x1a4]
push ecx
push dword [ebp - 0x1d0]
call dword [0x1000a875]
cmp eax, 0xffffffff
je 0x1000196b
push 0xe
push 0x100041bc
call fcn.10001507
push 0xe
push 0x100041bc
push dword [ebp - 0x1d0]
call fcn.100013c8
push 0xe
push 0x100041bc
call fcn.100013f3
push 0x1388
push 8
push dword [0x10009a5f]
call dword [0x1000a835]
mov dword [ebp - 0x1bc], eax
add eax, 4
mov dword [ebp - 0x1c0], eax
mov esi, 4
mov edi, 4
mov ebx, dword [ebp - 0x1bc]
push esi
push ebx
push dword [ebp - 0x1d0]
call fcn.100028a2
sub edi, eax
or eax, eax
jle 0x1000196b
or edi, edi
je 0x1000169a
mov esi, edi
add ebx, eax
jmp 0x10001679
mov esi, dword [ebp - 0x1bc]
push 4
push esi
call fcn.10001507
mov esi, dword [esi]
mov dword [ebp - 0x1d4], esi
mov edi, esi
cmp edi, 0x1387
jg 0x1000196b
or edi, edi
jl 0x1000196b
mov ebx, dword [ebp - 0x1c0]
push esi
push ebx
push dword [ebp - 0x1d0]
call fcn.100028a2
sub edi, eax
or eax, eax
jle 0x1000196b
or edi, edi
je 0x100016f1
mov esi, edi
add ebx, eax
push 0x100016cc
ret
push dword [ebp - 0x1d4]
push dword [ebp - 0x1c0]
call fcn.10001507
mov edi, dword [ebp - 0x1c0]
cmp byte [edi + 0x10], 1
jne 0x100017dd
push esi
cmp dword [edi + 0xc], 0
je 0x1000176e
mov esi, 0x96
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, 0x9c4
dec ecx
je 0x1000176e
cmp dword [edx + 4], eax
je 0x10001740
lea edx, [edx + 0xc]
mov dword [0x10008f4c], 0x10001729
jmp 0x10001729
lea edx, [edx + 0xc]
dec esi
jne 0x10001729
push 0x25
push edi
call fcn.10001507
push 0x25
push edi
push dword [ebp - 0x1d0]
call fcn.100013c8
or edi, edi
je 0x10001768
push 0x25
push edi
call fcn.100013f3
pop esi
jmp 0x10001669
pop esi
lea edx, [ebp - 0x1c4]
mov ecx, 0x10001adb
push edx
push 0x10000
mov eax, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1d0]
mov dword [eax + 0x1374], edx
mov edx, dword [ebp + 0x10]
mov dword [eax + 0x1378], edx
push dword [ebp - 0x1bc]
push ecx
push 0x400
push 0
call dword [0x1000a89d]
push eax
call dword [0x1000a889]
push 0x1388
push 8
push dword [0x10009a5f]
call dword [0x1000a835]
mov dword [ebp - 0x1bc], eax
add eax, 4
mov dword [ebp - 0x1c0], eax
jmp 0x10001948
cmp byte [edi + 0x10], 3
jne 0x1000183c
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c3
inc ecx
dec ecx
je 0x10001669
cmp dword [edx + 8], eax
je 0x10001800
add edx, 0xc
jmp 0x100017ef
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001669
mov edi, dword [ebp - 0x1c0]
movzx ecx, byte [edi + 0x12]
or ecx, ecx
je 0x10001669
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax]
sub ecx, 0x20
mov eax, edx
lea edx, [edi + 0x20]
push ecx
push edx
push dword [eax]
call fcn.100013c8
jmp 0x10001948
cmp byte [edi + 0x10], 4
jne 0x10001879
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c4
dec ecx
je 0x10001669
cmp dword [edx + 8], eax
je 0x1000185e
add edx, 0xc
jmp 0x1000184d
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001669
push 2
push dword [edx]
call dword [0x1000a86d]
jmp 0x10001948
cmp byte [edi + 0x10], 0x33
jne 0x100018a0
xor eax, eax
push 0x1000a3aa
push eax
mov edx, dword [edi + 0x11]
push edx
push 0x1000140a
inc dword [esp]
push eax
push eax
call dword [0x1000a89d]
jmp 0x10001948
cmp byte [edi + 0x10], 5
jne 0x100018b6
push 0
push dword [edi + 1]
call dword [0x1000a895]
jmp 0x10001948
cmp byte [edi + 0x10], 0xd
jne 0x10001923
mov eax, dword [edi + 0xc]
lea edx, [ebp - 0x1c4]
mov ecx, 0x10001a35
push edx
push 0x10000
push edi
mov edi, 0x1000ba29
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x100018f6
push ecx
call fcn.1000194e
pop ecx
movzx eax, al
shl eax, 2
mov edi, 0x1000ba29
add edi, eax
jmp 0x100018fb
cmp dword [edi], 0
jne 0x100018db
push dword [ebp + 0x10]
pop dword [edi]
mov dword [edi + 4], eax
mov eax, edi
pop edi
push eax
push ecx
push 0x400
push 0
mov eax, dword [0x1000a89d]
or eax, eax
je 0x1000191a
call eax
push eax
call dword [0x1000a889]
jmp 0x10001948
cmp byte [edi + 0x10], 0x11
jne 0x10001948
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax]
add ecx, 4
push ecx
push eax
call fcn.10001507
push ecx
push eax
push dword [ebp - 0x1d0]
call fcn.100013c8
push 0x10001669
ret
push 2
push dword [ebp - 0x1d0]
call dword [0x1000a86d]
push dword [ebp - 0x1d0]
call dword [0x1000a871]
lea edx, [ebp - 0x1c4]
mov ecx, 0x10001a35
push edx
push 0x10000
push edi
mov edi, 0x1000ba29
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x100019ba
call fcn.1000194e
movzx eax, al
shl eax, 2
mov edi, 0x1000ba29
add edi, eax
jmp 0x100019bf
cmp dword [edi], 0
jne 0x100019a1
push dword [ebp + 0x10]
pop dword [edi]
mov dword [edi + 4], 0
mov eax, edi
pop edi
push eax
push ecx
push 0x400
push 0
mov eax, dword [0x1000a89d]
call eax
or eax, eax
je 0x100019e7
call fcn.10001a13
rdtsc
rol eax, 1
movzx eax, al
shl eax, 7
add eax, 0x493e1
push 0
push eax
call dword [0x1000a895]
xor eax, eax
mov edx, 0x1000154e
inc edx
mov dword [0x10004629], edx
jmp dword [0x10004629]