Function at 0x100fd7c0
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x40
mov eax, dword [edx]
mov esi, dword [edx + 4]
mov ebx, ecx
mov dword [esp + 0xc], eax
movzx eax, word [edx + 8]
mov word [esp + 0xa], ax
mov eax, dword [0x10551f94]
cmp eax, 3
jne 0x100fda1a
mov edi, esi
inc edi
js 0x100fda3f
test edi, edi
mov dword [esp + 4], ebx
je 0x100fd81d
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100fda46
mov ebx, eax
cmp edi, esi
jb 0x100fd828
jmp 0x100fd880
xor edi, edi
mov ebx, 1
cmp edi, esi
jae 0x100fd880
lea eax, [edi + edi]
mov ecx, 8
cmp eax, esi
cmovbe eax, esi
cmp eax, 8
cmova ecx, eax
test edi, edi
je 0x100fd85e
test ecx, ecx
js 0x100fda3f
mov edi, ecx
test ebx, ebx
je 0x100fd868
call sub.KERNEL32.dll_GetProcessHeap
push edi
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
jmp 0x100fd876
test ecx, ecx
mov edi, ecx
js 0x100fda3f
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x100fda46
push esi
push dword [esp + 0x10]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp esi, 8
jae 0x100fd8b4
test esi, esi
je 0x100fd93b
xor eax, eax
nop dword [eax]
cmp byte [ebx + eax], 0
je 0x100fd99f
inc eax
cmp esi, eax
jne 0x100fd8a0
jmp 0x100fd93b
mov ecx, ebx
neg ecx
and ecx, 3
je 0x100fd8d8
xor eax, eax
nop
cmp byte [ebx + eax], 0
je 0x100fd99f
inc eax
cmp ecx, eax
jne 0x100fd8c0
lea eax, [esi - 8]
cmp ecx, eax
jbe 0x100fd8dd
jmp 0x100fd925
lea eax, [esi - 8]
xor ecx, ecx
movdqa xmm0, xmmword [0x10364ef0]
movdqa xmm1, xmmword [0x10364f00]
nop dword [eax]
movq xmm2, qword [ebx + ecx]
movdqa xmm3, xmm2
paddd xmm3, xmm0
pandn xmm2, xmm3
pand xmm2, xmm1
pshufd xmm3, xmm2, 0xe5
por xmm3, xmm2
movd edx, xmm3
test edx, edx
jne 0x100fd91d
add ecx, 8
cmp ecx, eax
jbe 0x100fd8f0
cmp ecx, esi
ja 0x100fda54
mov eax, esi
sub eax, ecx
je 0x100fd93b
add ecx, ebx
xor edx, edx
nop
cmp byte [ecx + edx], 0
je 0x100fd99f
inc edx
cmp eax, edx
jne 0x100fd930
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x10]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
mov ecx, ebx
call fcn.100fa480
pxor xmm0, xmm0
mov esi, eax
mov edi, edx
mov eax, esp
mov dword [esp], 0
movdqa xmmword [esp + 0x10], xmm0
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 0x18], 1
push eax
push ebx
push 0
push esi
call sub.WS2_32.dll_getaddrinfo
test eax, eax
je 0x100fd9e3
call sub.WS2_32.dll_WSAGetLastError
mov ecx, dword [esp + 4]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
mov eax, 1
jmp 0x100fd9fb
lea ecx, [esp + 0x10]
mov edx, 0xb
push 0x21
push 0x103a1678
call fcn.100f4010
add esp, 8
test edi, edi
je 0x100fd9c9
call sub.KERNEL32.dll_GetProcessHeap
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov dword [edx], 1
jmp 0x100fda12
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
movzx eax, word [esp + 0xa]
mov word [ecx + 0xc], ax
xor eax, eax
test edi, edi
mov dword [ecx], eax
mov byte [esi], 0
je 0x100fda12
call sub.KERNEL32.dll_GetProcessHeap
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, esp
mov byte [esp], 1
lea edx, [esp + 0x10]
mov ecx, 0x10551f94
mov dword [esp + 0x10], eax
push 0x103a19ec
call fcn.100fb770
add esp, 4
jmp 0x100fd7ee
call fcn.100067e0
ud2
mov ecx, edi
mov edx, 1
call fcn.100067d0
ud2
mov edx, esi
push 0x103670cc
call fcn.10009b70
add esp, 4
ud2