Function at 0x10025d00
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a033d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, ecx
movzx ecx, word [eax + 2]
push dword [eax + 4]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov esi, eax
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x34], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10025d56
sub esi, ecx
cmp esi, 0xf
ja 0x10025d7e
push esi
push dword [ebp - 0x14]
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24], esi
push eax
call fcn.1007f300
mov byte [ebp + esi - 0x34], 0
jmp 0x10025e11
cmp esi, 0x7fffffff
ja 0x1002611b
mov edi, esi
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x10025dbf
mov edi, SysReAllocString
mov ecx, 0x80000023
push ecx
call fcn.1007c352
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x100261ad
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x10025df1
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
cmp eax, 0x1000
jb 0x10025de0
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x10026120
jmp 0x10025da1
test eax, eax
je 0x10025def
push eax
call fcn.1007c352
add esp, 4
jmp 0x10025df1
xor eax, eax
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
push eax
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], edi
call fcn.1007f300
mov eax, dword [ebp - 0x10]
mov edi, dword [ebp - 0x18]
mov byte [eax + esi], 0
mov dword [ebp - 0x34], eax
add esp, 0xc
mov dword [ebp - 4], 0
cmp byte [0x100d2da8], 0
je 0x10025eb6
cmp dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x34]
mov ecx, dword [0x100d3c28]
cmovae eax, dword [ebp - 0x34]
movaps xmm0, xmmword [0x100bbfd0]
mov dword [ebp - 0x18], eax
mov eax, dword fs:[0x2c]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x38], 0x19e69308
movaps xmm0, xmmword [0x100bc070]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100d55e4]
movups xmmword [ebp - 0x58], xmm0
movaps xmm0, xmmword [0x100bc2b0]
movups xmmword [ebp - 0x48], xmm0
cmp eax, dword [ecx + 4]
jg 0x10026125
mov ecx, 0x100d5440
call fcn.10027f50
mov eax, dword [ebp + 0x28]
mov esi, dword [ebp + 0xc]
push dword [eax]
movzx eax, word [esi + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push dword [ebp - 0x18]
push dword [ebp + 8]
push 0x100d5440
push 5
call fcn.100546cc
add esp, 0x18
jmp 0x10025eb9
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x28]
cmp dword [eax], 0
jne 0x10026051
cmp byte [edi + 0xc4], 0
je 0x10026051
mov eax, dword [ebp - 0x1c]
cmp ax, word [edi + 0xc2]
jne 0x10026051
cmp word [esi], 2
jne 0x10026051
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 4
push eax
lea eax, [ebp - 0x18]
push eax
push 0x1008
push 0xffff
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x10026051
cmp dword [ebp - 0x18], 1
sete al
test al, al
je 0x10026051
lea ecx, [esi + 4]
call fcn.10032e50
test al, al
je 0x10026051
cmp word [edi + 0xb2], 0
jne 0x10025f88
cmp dword [edi + 0xac], 0x10
lea esi, [edi + 0x98]
mov eax, esi
jb 0x10025f52
mov eax, dword [esi]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x10026087
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [edi + 0xb4], eax
mov ax, word [edi + 0xc0]
mov word [edi + 0xb2], ax
mov eax, 2
mov word [edi + 0xb0], ax
push 0x24
call fcn.1007c352
add esp, 4
mov dword [ebp - 0x1c], eax
mov ecx, eax
call fcn.1001dcf0
mov esi, eax
mov eax, dword [ebp + 0xc]
mov dword [esi], 3
movzx ecx, word [eax + 2]
push ecx
call dword [sym.imp.WS2_32.dll_ntohs]
movzx ecx, ax
lea eax, [ebp - 0x34]
mov dword [esi + 8], ecx
lea ecx, [esi + 0xc]
push eax
call fcn.10005000
cmp byte [0x100d2da8], 0
mov eax, dword [ebp + 8]
mov dword [esi + 4], eax
mov eax, dword [ebp + 0x28]
mov dword [eax], esi
mov esi, dword [ebp + 0xc]
movups xmm0, xmmword [edi + 0xb0]
movups xmmword [esi], xmm0
je 0x10026051
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100d3c28]
movaps xmm0, xmmword [0x100bbb70]
movups xmmword [ebp - 0x58], xmm0
mov byte [ebp - 0x38], 0x2d
mov ecx, dword [eax + ecx*4]
movaps xmm0, xmmword [0x100bc110]
mov eax, dword [0x100d55c8]
movups xmmword [ebp - 0x48], xmm0
cmp eax, dword [ecx + 4]
jg 0x10026169
mov ecx, 0x100d54b0
call fcn.1001ba10
movzx eax, word [esi + 2]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
push eax
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push 0x100d54b0
push 5
call fcn.100546cc
add esp, 0x10
mov edx, dword [ebp - 0x20]
pop edi
pop esi
cmp edx, 0x10
jb 0x10026109
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100260ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100261ad
jmp 0x100260ff
cmp byte [0x100d2da8], 0
mov byte [edi + 0xc4], 0
je 0x10026051
cmp dword [esi + 0x14], 0x10
jb 0x1002609f
mov esi, dword [esi]
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100d3c28]
movaps xmm0, xmmword [0x100bbcc0]
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x3c], 0x6aeac317
mov ecx, dword [eax + ecx*4]
movaps xmm0, xmmword [0x100bc0a0]
mov eax, dword [0x100d5580]
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x38], 0xbb
cmp eax, dword [ecx + 4]
jg 0x100261b2
mov ecx, 0x100d5480
call fcn.10016100
push esi
push 0x100d5480
push 3
call fcn.100546cc
add esp, 0xc
jmp 0x10026051
push edx
push ecx
call fcn.1007c382
add esp, 8
mov ecx, dword [ebp - 0xc]
mov al, 1
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x24
call fcn.10001c48
call fcn.10001bd9
push 0x100d55e4
call fcn.1007c7dd
add esp, 4
cmp dword [0x100d55e4], 0xffffffff
jne 0x10025e7e
lea eax, [ebp - 0x68]
mov ecx, 0x100d5440
push eax
call fcn.10027cf0
push 0x100a5d50
call fcn.1007c695
push 0x100d55e4
call fcn.1007c793
add esp, 8
jmp 0x10025e7e
push 0x100d55c8
call fcn.1007c7dd
add esp, 4
cmp dword [0x100d55c8], 0xffffffff
jne 0x1002601f
lea eax, [ebp - 0x58]
mov ecx, 0x100d54b0
push eax
call fcn.1001b900
push 0x100a5d30
call fcn.1007c695
push 0x100d55c8
call fcn.1007c793
add esp, 8
jmp 0x1002601f
call fcn.10081e2f
push 0x100d5580
call fcn.1007c7dd
add esp, 4
cmp dword [0x100d5580], 0xffffffff
jne 0x100260e0
lea eax, [ebp - 0x5c]
mov ecx, 0x100d5480
push eax
call fcn.10015a60
push 0x100a5d40
call fcn.1007c695
push 0x100d5580
call fcn.1007c793
add esp, 8
jmp 0x100260e0