Function at 0x495990
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cd10c
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x6385e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xe8], ecx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0xe8]
mov ecx, dword [edx + 4]
call fcn.00421700
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.00404b70
test eax, eax
jne 0x495a02
mov byte [ebp - 0x65], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004b3860
mov al, byte [ebp - 0x65]
jmp 0x495dd2
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0xe8]
add ecx, 0x98
call fcn.00496480
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0xe8]
add ecx, 0x98
call fcn.0040c9a0
push eax
lea ecx, [ebp - 0x4c]
call fcn.0047f720
movzx edx, al
test edx, edx
je 0x495a76
lea ecx, [ebp - 0x4c]
call fcn.00406340
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax + 0xc]
mov byte [ecx], dl
mov byte [ebp - 0x79], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004b3860
mov al, byte [ebp - 0x79]
jmp 0x495dd2
lea ecx, [ebp - 0x1c]
call fcn.004b34a0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004b34a0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push 0x2e
lea ecx, [ebp - 0x44]
call fcn.004b6400
movzx edx, al
test edx, edx
je 0x495bc2
mov dword [ebp - 0x50], 0
jmp 0x495abd
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 4
jae 0x495bc2
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx*4 + 0x63e93c]
push edx
lea ecx, [ebp - 0x1c]
call fcn.004b4b00
movzx eax, al
test eax, eax
je 0x495bbd
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 0
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx]
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x90], esp
lea edx, [ebp - 0x44]
push edx
call fcn.004b34d0
mov dword [ebp - 0xec], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.004990a0
add esp, 0x14
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xf4], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xf4]
push edx
lea ecx, [ebp - 0x8c]
call fcn.00498d60
mov byte [ebp - 4], 4
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xac]
push ecx
mov ecx, dword [ebp - 0xe8]
add ecx, 0x98
call fcn.00496250
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8c]
call fcn.00423650
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa0]
call fcn.00423650
mov byte [ebp - 0xad], 1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004b3860
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004b3860
mov al, byte [ebp - 0xad]
jmp 0x495dd2
jmp 0x495ab4
mov edx, dword [ebp + 0x10]
mov byte [edx], 0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x34]
call fcn.004b34d0
mov byte [ebp - 4], 5
push str..multi.surbl.org
lea ecx, [ebp - 0x34]
call fcn.004b3b40
lea ecx, [ebp - 0x34]
call fcn.004553f0
push eax
push str.Lookup:__ws_r_n
call fcn.0054d5e0
add esp, 8
mov dword [ebp - 0x38], 0
push 0
lea ecx, [ebp - 0x38]
push ecx
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx + 0x94]
push eax
push 0x1000
push 1
lea ecx, [ebp - 0x34]
call fcn.004553f0
push eax
call sub.DNSAPI.dll_DnsQuery_W
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0x232b
jne 0x495c3b
jmp 0x495cf9
cmp dword [ebp - 0x10], 0
jne 0x495cf9
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x54], ecx
cmp dword [ebp - 0x54], 0
je 0x495cee
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 0xc]
and eax, 3
cmp eax, 1
je 0x495c65
jmp 0x495ce1
mov ecx, dword [ebp - 0x54]
movzx edx, word [ecx + 8]
cmp edx, 1
jne 0x495ce1
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x495ce1
push 4
push str.127.
mov eax, dword [ebp - 0x5c]
push eax
call fcn.005505d6
add esp, 0xc
test eax, eax
jne 0x495cdf
push 0x2e
mov ecx, dword [ebp - 0x5c]
push ecx
call fcn.004808b0
add esp, 8
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x495cdf
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.0054ed3b
add esp, 4
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 8
jne 0x495cdf
mov ecx, dword [ebp + 0x10]
mov byte [ecx], 1
jmp 0x495cee
mov edx, dword [ebp - 0x54]
mov eax, dword [edx]
mov dword [ebp - 0x54], eax
jmp 0x495c4b
push 1
mov ecx, dword [ebp - 0x38]
push ecx
call sub.DNSAPI.dll_DnsRecordListFree
mov edx, dword [ebp + 0x10]
movzx eax, byte [edx]
push eax
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0xc4], esp
lea edx, [ebp - 0x44]
push edx
call fcn.004b34d0
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xd4]
push eax
call fcn.004990a0
add esp, 0x14
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x100], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x100]
push edx
lea ecx, [ebp - 0xc0]
call fcn.00498d60
mov byte [ebp - 4], 7
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xe0]
push ecx
mov ecx, dword [ebp - 0xe8]
add ecx, 0x98
call fcn.00496250
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xc0]
call fcn.00423650
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xd4]
call fcn.00423650
mov byte [ebp - 0xe1], 1
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x34]
call fcn.004b3860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004b3860
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.004b3860
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
call fcn.004b3860
mov al, byte [ebp - 0xe1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0xc