Function at 0x10001d13
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, 0x1000a957
call dword [ecx + 0x605]
push 0x10002171
push dword fs:[0]
mov eax, esp
mov dword fs:[0], eax
mov dword [ebp - 0x1cc], eax
call fcn.1000222c
call fcn.10003357
mov dword [ebp - 0x1d0], eax
xor ecx, ecx
inc ecx
push ecx
push 0x100051b6
push 8
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
xor ecx, ecx
inc ecx
push ecx
push 0x100051b6
push 4
push 0xffff
push dword [ebp - 0x1d0]
call sub.WS2_32.dll_setsockopt
cmp dword [ebp + 0xc], 0
jne 0x10001dae
mov eax, dword [ebp + 8]
jmp 0x10001de4
push 0xfcc4812
add dword [esp], 0x340890
call sub.WS2_32.dll_gethostbyname
or eax, eax
je 0x1000218d
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.10001254
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 [0x1000af58]
cmp eax, 0xffffffff
je 0x1000218d
push 0xe
push 0x100051bb
call fcn.10001bf7
push 0xe
push 0x100051bb
push dword [ebp - 0x1d0]
call fcn.10002897
push 0xe
push 0x100051bb
call fcn.10001c38
push 0x1388
push 8
push dword [0x1000a526]
call dword [0x1000af18]
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.1000323b
sub edi, eax
or eax, eax
jle 0x1000218d
or edi, edi
je 0x10001e9f
mov esi, edi
add ebx, eax
jmp 0x10001e7e
mov esi, dword [ebp - 0x1bc]
push 4
push esi
call fcn.10001bf7
mov esi, dword [esi]
mov dword [ebp - 0x1d4], esi
mov edi, esi
cmp edi, 0x1387
jg 0x1000218d
or edi, edi
jl 0x1000218d
mov ebx, dword [ebp - 0x1c0]
push esi
push ebx
push dword [ebp - 0x1d0]
call fcn.1000323b
sub edi, eax
or eax, eax
jle 0x1000218d
or edi, edi
je 0x10001ef6
mov esi, edi
add ebx, eax
push 0x10001ed1
ret
push dword [ebp - 0x1d4]
push dword [ebp - 0x1c0]
call fcn.10001bf7
mov edi, dword [ebp - 0x1c0]
cmp byte [edi + 0x10], 1
jne 0x10001fe6
push esi
cmp dword [edi + 0xc], 0
je 0x10001f77
mov esi, 0x96
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, 0x9c4
dec ecx
je 0x10001f77
cmp dword [edx + 4], eax
je 0x10001f49
lea edx, [edx + 0xc]
mov dword [0x10009a13], 0x10001f2e
jmp dword [0x10009a13]
lea edx, [edx + 0xc]
dec esi
jne 0x10001f2e
push 0x25
push edi
call fcn.10001bf7
push 0x25
push edi
push dword [ebp - 0x1d0]
call fcn.10002897
or edi, edi
je 0x10001f71
push 0x25
push edi
call fcn.10001c38
pop esi
jmp 0x10001e6e
pop esi
lea edx, [ebp - 0x1c4]
mov ecx, 0x100022d1
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 [0x1000af78]
push eax
call dword [0x1000af88]
push 0x1388
push 8
push dword [0x1000a526]
call dword [0x1000af18]
mov dword [ebp - 0x1bc], eax
add eax, 4
mov dword [ebp - 0x1c0], eax
jmp 0x10002160
cmp byte [edi + 0x10], 3
jne 0x10002045
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c3
inc ecx
dec ecx
je 0x10001e6e
cmp dword [edx + 8], eax
je 0x10002009
add edx, 0xc
jmp 0x10001ff8
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001e6e
mov edi, dword [ebp - 0x1c0]
movzx ecx, byte [edi + 0x12]
or ecx, ecx
je 0x10001e6e
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.10002897
jmp 0x10002160
cmp byte [edi + 0x10], 4
jne 0x10002082
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
mov ecx, 0x9c4
dec ecx
je 0x10001e6e
cmp dword [edx + 8], eax
je 0x10002067
add edx, 0xc
jmp 0x10002056
mov eax, dword [edi + 0xc]
cmp eax, dword [edx + 4]
jne 0x10001e6e
push 2
push dword [edx]
call dword [0x1000af38]
jmp 0x10002160
cmp byte [edi + 0x10], 0x33
jne 0x100020a9
xor eax, eax
push 0x1000ae71
push eax
mov ecx, dword [edi + 0x11]
push ecx
push 0x10001c0e
inc dword [esp]
push eax
push eax
call dword [0x1000af78]
jmp 0x10002160
cmp byte [edi + 0x10], 5
jne 0x100020bf
push 0
push dword [edi + 1]
call dword [0x1000af68]
jmp 0x10002160
cmp byte [edi + 0x10], 0xd
jne 0x10002133
mov eax, dword [edi + 0xc]
lea edx, [ebp - 0x1c4]
mov ecx, 0x10002242
push edx
push 0x10000
push edi
mov edi, 0x10011728
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x100020fd
call fcn.1000223f
movzx eax, al
shl eax, 2
mov edi, 0x10011728
add edi, eax
jmp 0x10002102
cmp dword [edi], 0
jne 0x100020e4
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 [0x1000af78]
or eax, eax
je 0x10002121
call eax
push eax
or eax, eax
je 0x10002130
mov ecx, dword [0x1000af88]
call ecx
jmp 0x10002160
pop edx
jmp 0x10002160
cmp byte [edi + 0x10], 0x11
jne 0x10002160
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [eax]
add ecx, 4
or ecx, ecx
je 0x1000214f
push ecx
push eax
call fcn.10001bf7
or ecx, ecx
je 0x10002160
push ecx
push eax
push dword [ebp - 0x1d0]
call fcn.10002897
push 0x10001e6e
pop dword [0x10011724]
jmp dword [0x10011724]
push 2
push dword [ebp - 0x1d0]
call dword [0x1000af38]
push dword [ebp - 0x1d0]
call dword [0x1000af50]
lea edx, [ebp - 0x1c4]
mov ecx, 0x10002242
push edx
push 0x10000
push edi
mov edi, 0x10011728
mov edx, 0x9c3
dec edx
or edx, edx
jne 0x100021e0
call fcn.1000223f
movzx eax, al
shl eax, 2
mov edi, 0x10011728
add edi, eax
push 0x100021e5
ret
cmp dword [edi], 0
jne 0x100021c3
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 [0x1000af78]
push eax
call dword [0x1000af88]
rdtsc
rol eax, 1
movzx eax, al
shl eax, 7
add eax, 0x493e1
push 0
push eax
call dword [0x1000af68]
xor eax, eax
mov edx, 0x10001d42
inc edx
push edx
ret