Function at 0x415220
Capabilities:
Reference cloudflare dns server

Disassembly:
sub esp, 0x1d4
lea eax, [esp + 0x54]
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDlgItemTextA]
push ebp
mov ebp, dword [esp + 0x1e0]
push esi
push edi
push 0x1a
push eax
push 0x66
push ebp
call ebx
lea edi, [esp + 0x64]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x41526a
push 0x30
push 0x4283b0
push 0x49
call fcn.004047d0
add esp, 4
push eax
jmp 0x4154f1
lea ecx, [esp + 0x64]
push ecx
call fcn.00415b10
add esp, 4
push 0x10
push 0x428cac
push 0x65
push ebp
call ebx
mov eax, dword [0x41e154]
test eax, eax
jne 0x4152d4
mov edi, str.DrcomRAS
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x428330
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.1.1.1.1
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x428cac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x415354
push 0x428cac
call fcn.0040af30
add esp, 4
cmp eax, 0xffffffff
je 0x415300
push 0x428cac
call fcn.0040af30
add esp, 4
test eax, eax
je 0x415300
mov byte [0x428330], 0
jmp 0x415359
mov edi, 0x428cac
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
jne 0x415328
push 0x30
push 0x4283b0
push 0x47
call fcn.004047d0
add esp, 4
push eax
jmp 0x4154f1
push 0x20
push 0x428330
push 0x65
push ebp
call ebx
mov edi, str.1.1.1.1
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x428cac
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x11
push 0x42839c
push 0x69
push ebp
call ebx
lea eax, [esp + 0x50]
push 0x11
push eax
push 0x6a
push ebp
call ebx
lea esi, [esp + 0x50]
mov eax, 0x42839c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41539e
test cl, cl
je 0x41539a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41539e
add eax, 2
add esi, 2
test cl, cl
jne 0x41537a
xor eax, eax
jmp 0x4153a3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4153be
push 0x30
push 0x4283b0
push 0x42
call fcn.004047d0
add esp, 4
push eax
jmp 0x4154f1
lea eax, [esp + 0x10]
push 0x14
push eax
push 0x69
push ebp
call ebx
lea edi, [esp + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x10
ja 0x4154c2
lea edi, [esp + 0x10]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 5
jb 0x4154c2
mov edi, 0x428a80
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x41544d
mov esi, 0x428a80
mov eax, 0x42839c
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x415433
test cl, cl
je 0x41542f
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x415433
add eax, 2
add esi, 2
test cl, cl
jne 0x41540f
xor eax, eax
jmp 0x415438
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41544d
push 0x30
push 0x4283b0
push 0x41f754
jmp 0x4154f1
push 0
push 0x428cac
call fcn.0040af30
add esp, 4
push eax
call fcn.004051a0
mov ecx, 6
lea esi, [esp + 0x6c]
lea edi, [esp + 0x2c]
add esp, 8
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x3e]
push 0x11
push eax
push 0x67
movsb byte es:[edi], byte [esi]
push ebp
mov byte [esp + 0x4d], 0
call ebx
lea ecx, [esp + 0x3e]
push ecx
call fcn.00415bd0
push 0x42839c
call fcn.00415bd0
lea edx, [esp + 0x2c]
push edx
call fcn.00414710
add esp, 0xc
push 1
push ebp
call dword [sym.imp.USER32.dll_EndDialog]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1d4
ret 4
push 5
push 0x10
push 0x32
call fcn.004047d0
add esp, 4
push eax
lea eax, [esp + 0xf0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea ecx, [esp + 0xe4]
push 0x30
push 0x4283b0
push ecx
push ebp
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1d4
ret 4