Function at 0x4017d7
Capabilities:
Reference 114dns dns server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push 1
mov eax, 0x434840
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x436314
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1ac]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x40183f
push ebx
call fcn.0041880c
add esp, 4
push 0x4362f0
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1b8]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0x4018ca
push 1
mov eax, 0x43484e
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x436314
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1ac]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401893
push ebx
call fcn.0041880c
add esp, 4
push 1
push 0
push 0x436318
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
push 1
push 0
push 0x43631c
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
jmp 0x401dd6
mov ebx, dword [0x436324]
call fcn.00401790
push ebx
push ecx
push 0x436310
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1b8]
mov dword [ebp - 0x24], eax
fild dword [ebp - 0x24]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fadd qword [0x43485d]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.004017b0
dec eax
jns 0x401920
push 0x144
push 0x401345b
push 4
call fcn.00418812
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x40193d
push 0x144
push 0x401345b
push 1
call fcn.00418812
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
test eax, eax
je 0x401963
push eax
mov ebx, eax
call fcn.0040106a
inc eax
push eax
call fcn.00418806
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401974
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 4], eax
push dword [0x43632c]
push dword [0x436328]
mov ecx, 2
call fcn.004010d5
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x4019a8
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x80000004
push 0
push 0x434865
push 0x80000004
push 0
push str.mask
push 0x80000004
push 0
mov eax, dword [0x436330]
test eax, eax
jne 0x4019d9
mov eax, 0x4342db
push eax
push 0x80000004
push 0
mov eax, dword [0x4362dc]
test eax, eax
jne 0x4019ef
mov eax, 0x4342db
push eax
push 4
mov ebx, 0x8c8
call fcn.00419070
add esp, 0x34
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x401a19
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 0x80000004
push 0
push str.192.168.1.1
push 0x80000004
push 0
push str.gateway
push 0x80000004
push 0
mov eax, dword [0x436330]
test eax, eax
jne 0x401a4a
mov eax, 0x4342db
push eax
push 0x80000004
push 0
mov eax, dword [0x4362dc]
test eax, eax
jne 0x401a60
mov eax, 0x4342db
push eax
push 4
mov ebx, 0x8c8
call fcn.00419070
add esp, 0x34
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401a8a
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x80000004
push 0
push str.202.96.128.86
push 0x80000004
push 0
push str.dns1
push 0x80000004
push 0
mov eax, dword [0x436330]
test eax, eax
jne 0x401abb
mov eax, 0x4342db
push eax
push 0x80000004
push 0
mov eax, dword [0x4362dc]
test eax, eax
jne 0x401ad1
mov eax, 0x4342db
push eax
push 4
mov ebx, 0x8c8
call fcn.00419070
add esp, 0x34
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401afb
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
push 0x80000004
push 0
push str.114.114.114.114
push 0x80000004
push 0
push str.dns2
push 0x80000004
push 0
mov eax, dword [0x436330]
test eax, eax
jne 0x401b2c
mov eax, 0x4342db
push eax
push 0x80000004
push 0
mov eax, dword [0x4362dc]
test eax, eax
jne 0x401b42
mov eax, 0x4342db
push eax
push 4
mov ebx, 0x8c8
call fcn.00419070
add esp, 0x34
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x401b6c
push ebx
call fcn.0041880c
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
push 0x4348b4
push dword [ebp - 0x10]
push 0x4348b7
push dword [ebp - 0xc]
push 0x4348b7
push dword [ebp - 8]
push str.__static
push dword [ebp - 4]
push str.netsh_interface_ip_set_address__
mov ecx, 9
call fcn.004010d5
add esp, 0x24
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 1
push 0x80000002
push 0
push 1
push 0x80000004
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x401bd0
mov eax, 0x4342db
push eax
push 3
mov ebx, 0x2c0
call fcn.00418f80
add esp, 0x28
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401bf6
push ebx
call fcn.0041880c
add esp, 4
cmp dword [ebp - 0x20], 1
jne 0x401da4
push 1
mov eax, 0x434840
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x436314
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1ac]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401c35
push ebx
call fcn.0041880c
add esp, 4
push str._primary
push dword [ebp - 0x14]
push str.__static
push dword [ebp - 4]
push str.Netsh_interface_ip_set_dns__
mov ecx, 5
call fcn.004010d5
add esp, 0x14
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 1
push 0x80000002
push 0
push 1
push 0x80000004
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x401c85
mov eax, 0x4342db
push eax
push 3
mov ebx, 0x2c0
call fcn.00418f80
add esp, 0x28
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401cab
push ebx
call fcn.0041880c
add esp, 4
cmp dword [ebp - 0x20], 1
jne 0x401da4
push 1
mov eax, 0x43490a
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x436314
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1ac]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401cea
push ebx
call fcn.0041880c
add esp, 4
push str._index2
push dword [ebp - 0x18]
push 0x434922
push dword [ebp - 4]
push str.Netsh_interface_ip_add_dns__
mov ecx, 5
call fcn.004010d5
add esp, 0x14
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 1
push 0x80000002
push 0
push 1
push 0x80000004
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x401d3a
mov eax, 0x4342db
push eax
push 3
mov ebx, 0x2c0
call fcn.00418f80
add esp, 0x28
mov dword [ebp - 0x20], eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401d60
push ebx
call fcn.0041880c
add esp, 4
cmp dword [ebp - 0x20], 0
je 0x401da4
push 1
mov eax, 0x434942
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x1c]
push eax
push 1
push 0x436314
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0x1ac]
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x401d9f
push ebx
call fcn.0041880c
add esp, 4
call fcn.00401e53
push 1
push 0
push 0x436318
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
push 1
push 0
push 0x43631c
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax]
call dword [eax + 0xe8]
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x401de6
push ebx
call fcn.0041880c
add esp, 4
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x401df6
push ebx
call fcn.0041880c
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x401e06
push ebx
call fcn.0041880c
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x401e16
push ebx
call fcn.0041880c
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x401e26
push ebx
call fcn.0041880c
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x401e36
push ebx
call fcn.0041880c
add esp, 4
mov esp, ebp
pop ebp
ret