Function at 0x4067b2
Capabilities:
Reference google public dns server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
push 8
call fcn.0040b767
add esp, 4
mov dword [ebp - 0xc], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
push 8
call fcn.0040b767
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, eax
mov esi, 0x419687
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
cmp dword [ebp - 4], 0x7b
je 0x406f5a
push 0x80000002
push 0
lea eax, [ebp - 0x10]
push eax
push 0x20004
push 0
lea eax, [ebp - 0xc]
push eax
push 0x80000301
push 0
push 0x64
push 0x20003
push 0
push dword [0x41b0e0]
push 4
mov ebx, 0x38
mov eax, 0x412460
call fcn.0040bad0
add esp, 0x34
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406894
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 8], eax
cmp dword [ebp - 0x10], 1
jne 0x406f31
lea eax, [ebp - 8]
push eax
call fcn.00407000
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4068c2
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0
push 0
push 0
push 0x80000004
push 0
push 0x419fd5
push 0x80000004
push 0
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4068eb
mov eax, 0x41921e
push eax
push 3
mov ebx, 0x190
call fcn.0040edc0
add esp, 0x28
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
push eax
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x406923
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40691f
imul eax, dword [ebx]
jmp 0x406914
mov ecx, eax
test ecx, ecx
je 0x406942
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40693b
push ebx
push eax
call fcn.0040b76d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x406929
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x18]
call fcn.00402bbc
mov dword [ebp - 0x1c], eax
mov eax, 0x41921e
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40696f
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
push eax
mov eax, 0x41b120
mov ebx, eax
pop eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
push eax
cmp ecx, eax
jg 0x406a9e
cmp dword [0x41b120], 2
jle 0x406a96
push 0x41921e
push dword [ebp - 0x20]
call fcn.004010d7
add esp, 8
cmp eax, 0
jne 0x406a27
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
push ebx
push ecx
mov eax, dword [0x41b120]
dec eax
jns 0x4069d4
push 4
call fcn.0040b75b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x4069e7
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
test eax, eax
je 0x406a0d
push eax
mov ebx, eax
call fcn.00401010
inc eax
push eax
call fcn.0040b767
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406a1e
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
jmp 0x406a96
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
push ebx
push ecx
mov eax, dword [0x41b120]
dec eax
jns 0x406a46
push 4
call fcn.0040b75b
add esp, 4
pop ecx
pop ebx
cmp eax, ecx
jl 0x406a59
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
push 0x4197ea
push dword [ebp - 0x20]
mov ecx, 3
call fcn.0040107b
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406a92
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
pop eax
pop ebx
pop ecx
jmp 0x406981
add esp, 0xc
lea eax, [ebp - 0x20]
push eax
call fcn.00408abf
test eax, eax
je 0x406e3b
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406ad0
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
push 0x419fd7
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
call fcn.004010d7
add esp, 8
cmp eax, 0
jne 0x406bac
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 0
cmp eax, ecx
jl 0x406b11
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406b37
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000004
push 0
mov eax, dword [0x41b0e8]
test eax, eax
jne 0x406b54
mov eax, 0x41921e
push eax
push 1
mov ebx, 0x9dc
call fcn.0040efc0
add esp, 0x10
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x38], 0
push 0
push dword [ebp - 0x38]
push 1
push dword [ebp - 0x34]
push 1
push 0x41b0e4
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x2c]
call fcn.00408ce4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406ba8
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406bca
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
push 0x419fd9
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
call fcn.004010d7
add esp, 8
cmp eax, 0
jne 0x406cca
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 0
cmp eax, ecx
jl 0x406c0b
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406c31
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000004
push 0
mov eax, dword [0x41b0e8]
test eax, eax
jne 0x406c4e
mov eax, 0x41921e
push eax
push 1
mov ebx, 0x9dc
call fcn.0040efc0
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x80000004
push 0
mov eax, dword [0x41b0ec]
test eax, eax
jne 0x406c79
mov eax, 0x41921e
push eax
push 1
mov ebx, 0x9dc
call fcn.0040efc0
add esp, 0x10
mov dword [ebp - 0x38], eax
push 1
push dword [ebp - 0x38]
push 1
push dword [ebp - 0x34]
push 1
push 0x41b124
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x2c]
call fcn.00408ce4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406cc6
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406ce8
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
push str.CNAME
mov ebx, dword [ebp - 0x2c]
push dword [ebx]
call fcn.004010d7
add esp, 8
cmp eax, 0
jne 0x406de8
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 0
cmp eax, ecx
jl 0x406d29
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x18]
call fcn.00402bd5
mov eax, 1
cmp eax, ecx
jl 0x406d4f
push 1
call fcn.0040b75b
add esp, 4
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
push 0x80000004
push 0
mov eax, dword [0x41b0e8]
test eax, eax
jne 0x406d6c
mov eax, 0x41921e
push eax
push 1
mov ebx, 0x9dc
call fcn.0040efc0
add esp, 0x10
mov dword [ebp - 0x34], eax
push 0x80000004
push 0
mov eax, dword [0x41b124]
test eax, eax
jne 0x406d97
mov eax, 0x41921e
push eax
push 1
mov ebx, 0x9dc
call fcn.0040efc0
add esp, 0x10
mov dword [ebp - 0x38], eax
push 1
push dword [ebp - 0x38]
push 1
push dword [ebp - 0x34]
push 1
push 0x41b128
push dword [ebp - 0x30]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x2c]
call fcn.00408ce4
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406de4
push ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push 0x80000301
push 0
push 0x3e8
push 0x80000005
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x406e07
mov eax, 0x419687
push eax
push 0x20004
push 0
push dword [ebp - 0xc]
push 0x20003
push 0
push dword [0x41b0e0]
push 4
mov ebx, 0x3c
mov eax, 0x4125a0
call fcn.0040bad0
add esp, 0x34
jmp 0x406f31
push 0x80000301
push 0
push 0x64
push 1
mov ebx, 0x90
call fcn.0040d6f0
add esp, 0x10
push 0x80000301
push 0
push 0xffff
push 0x80000301
push 0
push 0x400
push 2
mov ebx, 0x94
call fcn.0040d720
add esp, 0x1c
mov dword [ebp - 0x28], eax
push 0x40a32b
push dword [ebp - 0x28]
push 0x41b12c
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 8]
push 1
mov eax, str.8.8.8.8
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
push eax
push 0x35
lea eax, [ebp - 8]
push eax
push 0x41b12c
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x10]
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x406ed3
push ebx
call fcn.0040b76d
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
push 8
call fcn.0040b767
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x406f04
push eax
mov ebx, eax
call fcn.00401010
inc eax
push eax
call fcn.0040b767
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
pop eax
push eax
mov ebx, dword [0x41b130]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x406f22
push ebx
call fcn.0040b76d
add esp, 4
pop ebx
call fcn.0040b76d
add esp, 4
pop eax
mov dword [0x41b130], eax
mov dword [ebp - 0x2c], esp
push 0xa
call dword [0x417034]
nop
nop
nop
nop
cmp dword [ebp - 0x2c], esp
je 0x406f55
push 6
call fcn.0040b75b
add esp, 4
jmp 0x40682d
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x406f6a
push ebx
call fcn.0040b76d
add esp, 4
mov ebx, dword [ebp - 0xc]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x406f7e
push ebx
call fcn.0040b76d
add esp, 4
pop ebx
call fcn.0040b76d
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406f97
push ebx
call fcn.0040b76d
add esp, 4
mov ebx, dword [ebp - 0x18]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x406fb5
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x406fb1
imul eax, dword [ebx]
jmp 0x406fa6
mov ecx, eax
test ecx, ecx
je 0x406fd4
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x406fcd
push ebx
push eax
call fcn.0040b76d
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x406fbb
call fcn.0040b76d
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406fec
push ebx
call fcn.0040b76d
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406ffc
push ebx
call fcn.0040b76d
add esp, 4
mov esp, ebp
pop ebp
ret