Function at 0x447b90
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44eff0
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x7c
push ebx
push esi
push edi
mov eax, dword [0x4612c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x7c], ecx
mov eax, dword [ebp - 0x7c]
cmp dword [eax + 0x4c], 0
jne 0x447bd2
mov eax, 0x80004005
jmp 0x447fc1
push 0
call fcn.004010f0
add esp, 4
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov edx, dword [ebp - 0x80]
mov eax, dword [edx + 0x44]
cmp eax, dword [ebp - 0x84]
jl 0x447c13
jg 0x447c0c
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx + 0x40]
cmp edx, dword [ebp - 0x88]
jbe 0x447c13
xor eax, eax
jmp 0x447fc1
push 0
call fcn.004010f0
add esp, 4
add eax, 0xe10
adc edx, 0
mov ecx, dword [ebp - 0x7c]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], edx
call fcn.0041c3a0
test eax, eax
je 0x447c3c
call fcn.00402070
call fcn.00406a20
test eax, eax
je 0x447c4a
call fcn.00446140
mov dword [ebp - 0x24], 0
jmp 0x447c5c
mov edx, dword [ebp - 0x24]
add edx, 1
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x7c]
call fcn.004483b0
cmp dword [ebp - 0x24], eax
jae 0x447cd0
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.004483d0
add eax, 0x1c
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::clear_void_]
push 0xde
call fcn.0041cab0
add esp, 4
cmp eax, 0x14f
jne 0x447ca2
call fcn.00444090
test eax, eax
je 0x447ca2
call fcn.00402070
mov dword [ebp - 4], 0
call fcn.00444060
jmp 0x447cc7
mov dword [ebp - 4], 0xffffffff
jmp 0x447c53
push 4
push 0
mov ecx, dword [ebp - 0x7c]
add ecx, 0x38
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0xae
push 0x3a
push 0xf2
call fcn.00444100
add esp, 0xc
cmp eax, 0xe8
jne 0x447d0c
call fcn.00403d20
test eax, eax
je 0x447d0c
call fcn.00420bf0
mov ecx, dword [ebp - 0x7c]
add ecx, 0x1c
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call sub.WS2_32.dll_gethostbyname
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x447d31
mov eax, 0x80004005
jmp 0x447fc1
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0x38], edx
mov dword [ebp - 0x20], 1
call fcn.00443ff0
test eax, eax
je 0x447d56
call fcn.00446220
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ecx + 0x38]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x28], 0
jmp 0x447d78
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x7c]
call fcn.004483b0
cmp dword [ebp - 0x28], eax
jae 0x447f7c
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x40]
call fcn.00404f80
mov dword [ebp - 4], 2
push 0
lea ecx, [ebp - 0x44]
push ecx
lea edx, [ebp - 0x20]
push edx
push 0
push 0xf
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.004483d0
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call sub.DNSAPI.dll_DnsQuery_A
mov dword [ebp - 0x48], eax
call fcn.00443fc0
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 1
je 0x447de0
jmp 0x447dea
call fcn.004462b0
call fcn.00446340
cmp dword [ebp - 0x48], 0
jne 0x447f50
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x4c], ecx
push 0xe1
push 0xfc
call fcn.00443eb0
add esp, 8
cmp eax, 0x70
jne 0x447e13
jmp 0x447e21
call fcn.00446420
call fcn.00426580
jmp 0x447e21
cmp dword [ebp - 0x4c], 0
je 0x447ed3
mov edx, dword [ebp - 0x4c]
movzx eax, word [edx + 8]
cmp eax, 0xf
jne 0x447ec6
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x7c]
call fcn.004483d0
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
call dword [sym.imp.MSVCR90.dll__stricmp]
add esp, 8
test eax, eax
jne 0x447ec6
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x1c]
push ecx
lea edx, [ebp - 0x78]
push edx
call fcn.00405eb0
add esp, 0xc
push eax
lea ecx, [ebp - 0x70]
call fcn.00405ed0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x40]
call fcn.004050c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x70]
call fcn.00404e90
push 0xec
push 0x71
call fcn.00443eb0
add esp, 8
cmp eax, 0x76
jne 0x447ec6
call fcn.00443f50
test eax, eax
je 0x447ec6
call fcn.00402070
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ecx]
mov dword [ebp - 0x4c], edx
jmp 0x447e21
mov dword [ebp - 0x50], 0
jmp 0x447ee5
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
lea ecx, [ebp - 0x40]
call fcn.00405050
cmp dword [ebp - 0x50], eax
jae 0x447f50
mov ecx, dword [ebp - 0x50]
push ecx
lea ecx, [ebp - 0x40]
call fcn.00405070
cmp dword [eax], 0xd
jne 0x447f4e
mov edx, dword [ebp - 0x50]
push edx
lea ecx, [ebp - 0x40]
call fcn.00405070
add eax, 4
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::length_void_const]
test eax, eax
je 0x447f4e
mov eax, dword [ebp - 0x50]
push eax
lea ecx, [ebp - 0x40]
call fcn.00405070
add eax, 4
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x7c]
call fcn.004483d0
add eax, 0x1c
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov dword [ebp - 0x18], 1
jmp 0x447f50
jmp 0x447edc
cmp dword [ebp - 0x44], 0
je 0x447f68
push 1
mov edx, dword [ebp - 0x44]
push edx
call sub.DNSAPI.dll_DnsFree
mov dword [ebp - 0x44], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.00404ff0
jmp 0x447d6f
mov eax, dword [ebp - 0x7c]
mov dword [eax + 0x48], 0
cmp dword [ebp - 0x18], 0
je 0x447fbc
xor eax, eax
jmp 0x447fc1
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret