Function at 0x4017f0
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebx, dword [ebp + 8]
mov dword [esp + 8], 4
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], str..com
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.find_char_const__unsigned_int__unsigned_int__const
sub esp, 0xc
test eax, eax
je 0x40191c
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0x796e6170
lea esi, [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 4]
mov ecx, esi
mov dword [ebp - 0x44], 4
mov byte [ebp - 0x3c], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], 0
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_replace_unsigned_int__unsigned_int__char_const__unsigned_int_
lea esi, [ebp - 0x28]
sub esp, 0x10
mov edx, eax
mov dword [ebp - 0x30], esi
mov eax, dword [eax]
lea edi, [edx + 8]
mov dword [ebp - 0x4c], edi
cmp eax, edi
je 0x401940
mov dword [ebp - 0x30], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x4c]
mov eax, dword [edx + 4]
mov byte [edx + 8], 0
lea edi, [ebx + 8]
mov dword [edx + 4], 0
mov dword [edx], ecx
mov edx, dword [ebx]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
cmp edx, edi
je 0x401998
cmp ecx, esi
je 0x4019c0
movd xmm1, dword [ebp - 0x28]
movd xmm0, eax
mov edi, dword [ebx + 8]
mov dword [ebx], ecx
punpckldq xmm0, xmm1
movq qword [ebx + 4], xmm0
test edx, edx
je 0x4019b0
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x2c], 0
mov byte [edx], 0
mov edx, dword [ebp - 0x30]
cmp edx, esi
je 0x401900
mov eax, dword [ebp - 0x28]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x40]
cmp edx, eax
je 0x40191c
mov eax, dword [ebp - 0x40]
mov dword [esp], edx
add eax, 1
mov dword [esp + 4], eax
call sym.operator_delete_void__unsigned_int_
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
sub esp, 4
test eax, eax
je 0x401988
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov eax, dword [eax]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edx + 4]
mov dword [ebp - 0x54], edi
mov ecx, esi
add eax, 1
mov dword [ebp - 0x50], eax
cmp eax, 4
jae 0x401a10
xor edi, edi
test byte [ebp - 0x50], 2
jne 0x4019f8
test byte [ebp - 0x50], 1
je 0x401887
mov dword [ebp - 0x50], edi
mov eax, edi
mov edi, dword [ebp - 0x54]
movzx eax, byte [edi + eax]
mov edi, dword [ebp - 0x50]
mov byte [ecx + edi], al
jmp 0x401887
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ecx, esi
je 0x4019c0
movd xmm2, dword [ebp - 0x28]
movd xmm0, eax
mov dword [ebx], ecx
punpckldq xmm0, xmm2
movq qword [ebx + 4], xmm0
mov dword [ebp - 0x30], esi
lea esi, [ebp - 0x28]
mov edx, esi
jmp 0x4018dd
test eax, eax
je 0x4019e1
cmp eax, 1
je 0x401a48
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], esi
call sym._memcpy
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebx]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 4], eax
mov byte [edx + eax], 0
mov edx, dword [ebp - 0x30]
jmp 0x4018dd
mov eax, dword [ebp - 0x54]
mov edi, 2
movzx eax, word [eax]
mov word [ecx], ax
jmp 0x401963
mov edi, eax
mov ecx, dword [ebp - 0x4c]
and edi, 0xfffffffc
mov dword [ebp - 0x54], edi
xor edi, edi
mov eax, dword [ecx + edi]
mov dword [esi + edi], eax
mov eax, dword [ebp - 0x54]
add edi, 4
cmp edi, eax
jb 0x401a1d
lea eax, [esi + edi]
mov dword [ebp - 0x4c], ecx
mov ecx, eax
mov eax, dword [ebp - 0x4c]
add eax, edi
mov dword [ebp - 0x54], eax
jmp 0x401957
movzx eax, byte [ebp - 0x28]
mov byte [edx], al
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebx]
mov dword [ebp - 0x4c], eax
jmp 0x4019e1