Function at 0x10001d88
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe28
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, 0x1000a947
call dword [ecx + 0x605]
push 0x100021f6
push dword fs:[0]
mov eax, esp
mov dword fs:[0], eax
mov dword [ebp - 0x1cc], eax
call fcn.100022b6
call fcn.1000341c
mov dword [ebp - 0x1d0], eax
xor ecx, ecx
inc ecx
push ecx
push 0x100051a1
push 8
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
xor ecx, ecx
inc ecx
push ecx
push 0x100051a1
push 4
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
cmp dword [ebp + 0xc], 0
jne 0x10001e23
mov eax, dword [ebp + 8]
jmp 0x10001e59
push 0xfcc4813
add dword [esp], 0x340890
call sub.WS2_32.dll_gethostbyname
or eax, eax
je 0x10002212
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov edx, 1
mov ecx, 0x362abfcb
dec edx
add ecx, 0x52fa8ce
call fcn.100012a9
mov dword [ebp - 0x1a0], eax
mov edx, 0x1c2
sub edx, 7
xchg dl, dh
mov word [ebp - 0x1a2], dx
mov word [ebp - 0x1a4], 2
push 0x10
lea ecx, [ebp - 0x1a4]
push ecx
push dword [ebp - 0x1d0]
call dword ss:[0x1000af48]
cmp eax, 0xffffffff
je 0x10002212
push 0xe
push 0x100051a6
call fcn.10001c5f
push 0xe
push 0x100051a6
push dword [ebp - 0x1d0]
call fcn.10002947
push 0xe
push 0x100051a6
call fcn.10001ca3
push 0x1388
push 8
push dword ss:[0x1000a516]
call dword ss:[0x1000af08]
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.10003307
sub edi, eax
or eax, eax
jle 0x10002212
or edi, edi
je 0x10001f17
mov esi, edi
add ebx, eax
jmp 0x10001ef6
mov esi, dword [ebp - 0x1bc]
push 4
push esi
call fcn.10001c5f
mov esi, dword [esi]
mov dword [ebp - 0x1d4], esi
mov edi, esi
cmp edi, 0x1387
jg 0x10002212
or edi, edi
jl 0x10002212
mov ebx, dword [ebp - 0x1c0]
push esi
push ebx
push dword [ebp - 0x1d0]
call fcn.10003307
sub edi, eax
or eax, eax
jle 0x10002212
or edi, edi
je 0x10001f6e
mov esi, edi
add ebx, eax
push 0x10001f49
ret
push dword [ebp - 0x1d4]
push dword [ebp - 0x1c0]
call fcn.10001c5f
mov edi, dword [ebp - 0x1c0]
cmp byte [edi + 0x10], 1
jne 0x10002064
push esi
cmp dword [edi + 0xc], 0
je 0x10001ff1
mov esi, 0x96
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, 0x9c4
dec ecx
je 0x10001ff1
cmp dword [edx + 4], eax
je 0x10001fc3
lea edx, [edx + 0xc]
mov dword ss:[0x10009a03], 0x10001fa6
jmp dword ss:[0x10009a03]
lea edx, [edx + 0xc]
dec esi
jne 0x10001fa6
push 0x25
push edi
call fcn.10001c5f
push 0x25
push edi
push dword [ebp - 0x1d0]
call fcn.10002947
or edi, edi
je 0x10001feb
push 0x25
push edi
call fcn.10001ca3
pop esi
jmp 0x10001ee6
pop esi
lea edx, [ebp - 0x1c4]
mov ecx, 0x1000235c
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 ss:[0x1000af68]
push eax
call dword ss:[0x1000af78]
push 0x1388
push 8
push dword ss:[0x1000a516]
call dword ss:[0x1000af08]
mov dword [ebp - 0x1bc], eax
add eax, 4
mov dword [ebp - 0x1c0], eax
jmp 0x100021e3
cmp byte [edi + 0x10], 3
jne 0x100020c3
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c3
inc ecx
dec ecx
je 0x10001ee6
cmp dword [edx + 8], eax
je 0x10002087
add edx, 0xc
jmp 0x10002076
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001ee6
mov edi, dword [ebp - 0x1c0]
movzx ecx, byte [edi + 0x12]
or ecx, ecx
je 0x10001ee6
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.10002947
jmp 0x100021e3
cmp byte [edi + 0x10], 4
jne 0x10002101
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c4
dec ecx
je 0x10001ee6
cmp dword [edx + 8], eax
je 0x100020e5
add edx, 0xc
jmp 0x100020d4
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001ee6
push 2
push dword [edx]
call dword ss:[0x1000af28]
jmp 0x100021e3
cmp byte [edi + 0x10], 0x33
jne 0x10002129
xor eax, eax
push 0x1000ae61
push eax
mov ecx, dword [edi + 0x11]
push ecx
push 0x10001c76
inc dword [esp]
push eax
push eax
call dword ss:[0x1000af68]
jmp 0x100021e3
cmp byte [edi + 0x10], 5
jne 0x10002140
push 0
push dword [edi + 1]
call dword ss:[0x1000af58]
jmp 0x100021e3
cmp byte [edi + 0x10], 0xd
jne 0x100021b6
mov eax, dword [edi + 0xc]
lea edx, [ebp - 0x1c4]
mov ecx, 0x100022cc
push edx
push 0x10000
push edi
mov edi, 0x10011718
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x1000217e
call fcn.100022c9
movzx eax, al
shl eax, 2
mov edi, 0x10011718
add edi, eax
jmp 0x10002183
cmp dword [edi], 0
jne 0x10002165
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 ss:[0x1000af68]
or eax, eax
je 0x100021a3
call eax
push eax
or eax, eax
je 0x100021b3
mov ecx, dword ss:[0x1000af78]
call ecx
jmp 0x100021e3
pop edx
jmp 0x100021e3
cmp byte [edi + 0x10], 0x11
jne 0x100021e3
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax]
add ecx, 4
or ecx, ecx
je 0x100021d2
push ecx
push eax
call fcn.10001c5f
or ecx, ecx
je 0x100021e3
push ecx
push eax
push dword [ebp - 0x1d0]
call fcn.10002947
push 0x10001ee6
pop dword ss:[0x10011714]
jmp dword ss:[0x10011714]
push 2
push dword [ebp - 0x1d0]
call dword ss:[0x1000af28]
push dword [ebp - 0x1d0]
call dword ss:[0x1000af40]
lea edx, [ebp - 0x1c4]
mov ecx, 0x100022cc
push edx
push 0x10000
push edi
mov edi, 0x10011718
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x10002267
call fcn.100022c9
movzx eax, al
shl eax, 2
mov edi, 0x10011718
add edi, eax
push 0x1000226c
ret
cmp dword [edi], 0
jne 0x1000224a
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
call dword ss:[0x1000af68]
push eax
call dword ss:[0x1000af78]
rdtsc
rol eax, 1
movzx eax, al
shl eax, 7
add eax, 0x493e1
push 0
push eax
call dword ss:[0x1000af58]
xor eax, eax
mov edx, 0x10001db7
inc edx
push edx
ret