Function at 0x41a19d
Capabilities:
Reference google public dns server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x451220]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x453688]
push ebx
xor ebx, ebx
push esi
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
cmp eax, ebx
je 0x41a45a
lea ecx, [ebp - 0xec]
push ecx
push 0x44d704
call eax
cmp dword [ebp - 0xec], ebx
jne 0x41a228
mov eax, dword [ebp - 0xf4]
cmp eax, ebx
je 0x41a1ff
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf8]
cmp eax, ebx
je 0x41a20f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf0]
cmp eax, ebx
je 0x41a44a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x41a44a
mov esi, 0xdc
push esi
lea eax, [ebp - 0xe8]
push ebx
push eax
call fcn.00429ac0
add esp, 0xc
push 0x20
mov eax, str.8.8.8.8
pop ecx
lea edx, [ebp - 0x64]
mov dword [ebp - 0xe8], esi
call fcn.00405737
push 0x20
mov eax, str.dsmain
pop ecx
lea edx, [ebp - 0xe4]
call fcn.00405737
push 0x20
mov eax, str.xdquery
pop ecx
lea edx, [ebp - 0xa4]
call fcn.00405737
mov eax, dword [ebp - 0xec]
lea edx, [ebp - 0xe8]
mov esi, str.dsmain.xdquery.xdqueryconfig
push edx
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x10], 0x1388
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x14], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
jl 0x41a1ef
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax]
lea edx, [ebp - 0xf0]
push edx
push esi
push eax
call dword [ecx + 0x10]
mov ecx, dword [ebp - 0xf0]
test eax, eax
jl 0x41a414
cmp ecx, ebx
je 0x41a414
mov eax, dword [ecx]
lea edx, [ebp - 0xf8]
push edx
push str.MaxCntItem
push ecx
call dword [eax + 0x10]
test eax, eax
jl 0x41a1ef
cmp dword [ebp - 0xf8], ebx
je 0x41a1ef
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax]
lea edx, [ebp - 0xf4]
push edx
push str.MaxFileSize
push eax
call dword [ecx + 0x10]
test eax, eax
jl 0x41a1ef
cmp dword [ebp - 0xf4], ebx
je 0x41a1ff
mov eax, dword [ebp - 0xf8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov esi, eax
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x10]
mov ebx, eax
test esi, esi
je 0x41a3da
test ebx, ebx
je 0x41a3da
push esi
call fcn.00428d23
push ebx
mov dword [edi + 0x8b8], eax
mov dword [edi + 0x8bc], edx
lea esi, [edi + 0x8c0]
call fcn.00428d23
push edx
push eax
push dword [edi + 0x8bc]
mov dword [esi], eax
push dword [edi + 0x8b8]
mov dword [esi + 4], edx
call fcn.00413ab4
mov eax, dword [ebp - 0xf4]
add esp, 0x18
test eax, eax
je 0x41a3a2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x41a3b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x41a3c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xec]
test eax, eax
je 0x41a3d2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
jmp 0x41a45c
mov eax, dword [ebp - 0xf4]
test eax, eax
je 0x41a3ea
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x41a3fa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xf0]
test eax, eax
je 0x41a40a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xec]
test eax, eax
jmp 0x41a452
mov eax, dword [ebp - 0xf4]
cmp eax, ebx
je 0x41a42a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
cmp eax, ebx
je 0x41a440
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xf0]
cmp ecx, ebx
je 0x41a44a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xec]
cmp eax, ebx
je 0x41a45a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00427527
leave
ret