Function at 0x405f30
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44c739
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x4632c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x98], ecx
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x40], 0
je 0x405f87
xor eax, eax
jmp 0x406332
lea ecx, [ebp - 0x44]
call fcn.00406440
mov dword [ebp - 4], 0
push 0xc2
push 0xa6
push 0xca
call fcn.00444f70
add esp, 0xc
cmp eax, 0x168
jne 0x405fc2
call fcn.004051f0
test eax, eax
je 0x405fc2
call fcn.00421de0
call fcn.004051c0
test eax, eax
je 0x405fd0
call fcn.004052d0
mov dword [ebp - 0x4c], 0
push 0
lea ecx, [ebp - 0x4c]
push ecx
push 0
push 0
push 0xf
mov ecx, dword [ebp - 0x98]
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 - 0x50], eax
cmp dword [ebp - 0x50], 0
je 0x406021
mov dword [ebp - 0x5c], 0x80004005
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004064b0
mov eax, dword [ebp - 0x5c]
jmp 0x406332
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x54], 0
je 0x4060a7
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 8]
cmp ecx, 0xf
jne 0x40609d
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x98]
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 0x40609d
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx + 0x18]
push edx
mov eax, dword [ebp - 0x54]
movzx ecx, word [eax + 0x1c]
push ecx
lea edx, [ebp - 0x84]
push edx
call fcn.004073d0
add esp, 0xc
push eax
lea ecx, [ebp - 0x7c]
call fcn.004073f0
mov byte [ebp - 4], 1
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406580
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7c]
call fcn.00406350
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
mov dword [ebp - 0x54], edx
jmp 0x406027
cmp dword [ebp - 0x4c], 0
je 0x4060e3
push 1
mov eax, dword [ebp - 0x4c]
push eax
call sub.DNSAPI.dll_DnsFree
push 0xbe
call fcn.00401060
add esp, 4
cmp eax, 0x11f
jne 0x4060ce
jmp 0x4060dc
call fcn.00405400
call fcn.0043fdb0
jmp 0x4060dc
mov dword [ebp - 0x4c], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [ebp - 4], 2
mov dword [ebp - 0x58], 0
jmp 0x406102
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x44]
call fcn.00406510
cmp dword [ebp - 0x58], eax
jae 0x406178
mov edx, dword [ebp - 0x58]
push edx
lea ecx, [ebp - 0x44]
call fcn.00406530
cmp dword [eax], 0x11
jne 0x406176
mov eax, dword [ebp - 0x58]
push eax
lea ecx, [ebp - 0x44]
call fcn.00406530
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 0x406176
mov ecx, dword [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x44]
call fcn.00406530
add eax, 4
push eax
lea ecx, [ebp - 0x2c]
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__]
call fcn.00444ac0
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 1
je 0x40616a
jmp 0x406174
call fcn.0043fdb0
call fcn.004226b0
jmp 0x406178
jmp 0x4060f9
lea ecx, [ebp - 0x2c]
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
jne 0x4061d7
mov dword [ebp - 0x88], 0x80004005
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004064b0
mov eax, dword [ebp - 0x88]
jmp 0x406332
lea ecx, [ebp - 0x2c]
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 - 0x48], eax
call fcn.00444ac0
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 1
je 0x4061ff
jmp 0x406209
call fcn.00405540
call fcn.00402d20
call fcn.0041e8d0
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 1
je 0x40621f
jmp 0x406229
call fcn.004465f0
call fcn.004465f0
cmp dword [ebp - 0x48], 0
jne 0x406260
mov dword [ebp - 0x8c], 0x80004005
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004064b0
mov eax, dword [ebp - 0x8c]
jmp 0x406332
push 4
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x98]
add edx, 0x40
push edx
call sub.MSVCR90.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x98]
cmp dword [eax + 0x40], 0
jne 0x4062db
mov dword [ebp - 0x90], 0x80004005
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004064b0
mov eax, dword [ebp - 0x90]
jmp 0x406332
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004064b0
mov eax, dword [ebp - 0x94]
jmp 0x406332
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044b84a
mov esp, ebp
pop ebp
ret