Function at 0x4857b0
Capabilities:
Reference cloudflare dns server

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x264
mov eax, dword [0x5601cc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x240]
push esi
push edi
push 0x9c
push 0
push eax
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0xc4], 0x7f000000
mov dword [ebp - 0xc0], 0xff000000
mov dword [ebp - 0xbc], 0xfffffffb
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xff000000
mov dword [ebp - 0xb0], 0xffffffce
mov dword [ebp - 0xac], 0xa9fe0000
mov dword [ebp - 0xa8], 0xffff0000
mov dword [ebp - 0xa4], 0xfffffffc
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0x1000000
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x6c], 0xffffffff
mov dword [ebp - 0x68], 0xffffffff
mov dword [ebp - 0x64], 0xffffffff
mov dword [ebp - 0x60], 0xfffffffb
mov dword [ebp - 0x5c], 0x80fe
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xc0ff
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xfffffffc
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0xffffffff
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x18], 0xffffffce
call fcn.0050a9d8
push 0xe0
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x244], 0
push 0
push eax
call fcn.0050a9d8
mov esi, dword [ebp + 8]
add esp, 0x18
movzx eax, si
xorps xmm0, xmm0
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x264], esi
movups xmmword [ebp - 0x90], xmm0
mov word [ebp - 0x1a4], ax
mov word [ebp - 0x188], ax
mov word [ebp - 0x16c], ax
mov word [ebp - 0x150], ax
mov word [ebp - 0x134], ax
mov word [ebp - 0x118], ax
mov word [ebp - 0xfc], ax
mov word [ebp - 0xe0], ax
mov word [ebx], ax
call fcn.00484b90
mov dword [ebp - 0x250], 1
cmp dword [eax + 4], 0
jle 0x485a66
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x250]
push ecx
push eax
push esi
call fcn.0049d740
add esp, 0x10
test eax, eax
jne 0x485a66
mov cx, word [ebp - 0x1c0]
mov di, word [0x526518]
mov si, word [0x52651c]
cmp cx, di
je 0x4859cd
cmp cx, si
je 0x4859d2
xor edx, edx
jmp 0x4859e0
cmp cx, si
jne 0x4859da
lea edx, [ebp - 0x1b8]
jmp 0x4859e0
lea edx, [ebp - 0x1bc]
lea ebx, [ebp - 0x1c0]
mov eax, edx
sub eax, ebx
lea ebx, [ebp - 0x1a4]
add ebx, eax
cmp cx, di
je 0x485a00
cmp cx, si
je 0x485a00
xor eax, eax
jmp 0x485a10
cmp cx, si
mov eax, 4
mov ecx, 0x10
cmove eax, ecx
push eax
push edx
push ebx
call fcn.0050a9cc
movzx ecx, word [ebp - 0x1a4]
add esp, 0xc
movzx eax, di
cmp ecx, eax
je 0x485a30
movzx eax, si
cmp ecx, eax
jne 0x485a48
push 0
call fcn.00484c20
mov di, word [0x526518]
add esp, 4
mov word [ebp - 0x1a2], ax
inc dword [ebp - 0xa0]
mov ebx, dword [ebp - 0x260]
mov esi, dword [ebp - 0x264]
mov dword [ebp - 0x244], 1
jmp 0x485a6d
mov di, word [0x526518]
movzx eax, di
cmp esi, eax
jne 0x485a7b
push str.1.1.1.1
jmp 0x485a80
push str.1::1
call fcn.0043dec0
add esp, 4
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x258], edx
push 0
push 0
push ebx
push eax
push esi
call fcn.004861b0
add esp, 0x14
test eax, eax
jne 0x485ba8
movzx ecx, word [ebx]
movzx eax, word [0x526518]
cmp ecx, eax
je 0x485aca
movzx eax, word [0x52651c]
cmp ecx, eax
jne 0x485ad8
push 0
call fcn.00484c20
add esp, 4
mov word [ebx + 2], ax
mov edx, dword [ebp - 0x244]
xor esi, esi
test edx, edx
je 0x485b0c
lea edi, [ebp - 0x1a4]
nop word [eax + eax]
push ebx
push edi
call fcn.00486680
mov edx, dword [ebp - 0x244]
add esp, 8
test eax, eax
je 0x485b0c
inc esi
add edi, 0x1c
cmp esi, edx
jb 0x485af0
add dword [ebp + esi*4 - 0xa0], 2
cmp esi, edx
jb 0x485bae
movzx ecx, word [ebx]
mov di, word [0x526518]
mov bx, word [0x52651c]
cmp cx, di
je 0x485b3b
cmp cx, bx
je 0x485b40
xor edx, edx
jmp 0x485b54
cmp cx, bx
jne 0x485b4b
mov edx, dword [ebp - 0x260]
add edx, 8
jmp 0x485b54
mov edx, dword [ebp - 0x260]
add edx, 4
lea eax, [esi*8]
sub eax, esi
lea esi, [ebp - 0x1a4]
shl eax, 2
sub eax, dword [ebp - 0x260]
add eax, edx
add esi, eax
cmp cx, di
je 0x485b7e
cmp cx, bx
je 0x485b7e
xor eax, eax
jmp 0x485b8e
cmp cx, bx
mov eax, 4
mov ecx, 0x10
cmove eax, ecx
push eax
push edx
push esi
call fcn.0050a9cc
mov edx, dword [ebp - 0x244]
add esp, 0xc
inc edx
mov dword [ebp - 0x244], edx
jmp 0x485bae
mov edx, dword [ebp - 0x244]
cmp edx, 8
jae 0x485e3a
mov eax, 8
lea esi, [ebp - 0x1a4]
sub eax, edx
mov dword [ebp - 0x250], eax
lea eax, [edx*8]
sub eax, edx
shl eax, 2
add esi, eax
mov dword [ebp - 0x258], eax
push esi
lea eax, [ebp - 0x250]
mov dword [ebp - 0x248], esi
push eax
push dword [ebp - 0x264]
call fcn.004b9f10
add esp, 0xc
test eax, eax
jne 0x485e34
mov ebx, dword [ebp - 0x250]
test ebx, ebx
je 0x485e34
xor ecx, ecx
mov dword [ebp - 0x24c], ecx
test ebx, ebx
je 0x485c7a
mov edi, esi
mov si, word [0x52651c]
nop word [eax + eax]
movzx edx, word [edi]
movzx eax, word [0x526518]
cmp edx, eax
je 0x485c45
movzx eax, si
cmp edx, eax
jne 0x485c66
push 0
call fcn.00484c20
mov ecx, dword [ebp - 0x24c]
add esp, 4
mov word [edi + 2], ax
mov ebx, dword [ebp - 0x250]
mov si, word [0x52651c]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x24c], ecx
cmp ecx, ebx
jb 0x485c30
mov esi, dword [ebp - 0x248]
xor edx, edx
mov dword [ebp - 0x254], edx
cmp dword [ebp - 0x244], edx
jbe 0x485d01
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x24c], eax
xor edi, edi
test ebx, ebx
je 0x485cce
nop dword [eax]
push esi
push eax
call fcn.00486680
mov ebx, dword [ebp - 0x250]
add esp, 8
test eax, eax
je 0x485cc2
mov eax, dword [ebp - 0x24c]
inc edi
add esi, 0x1c
cmp edi, ebx
jb 0x485ca0
mov edx, dword [ebp - 0x254]
mov esi, dword [ebp - 0x248]
xor eax, eax
cmp edi, ebx
setne al
lea eax, [eax*2 - 1]
add dword [ebp + edx*4 - 0xa0], eax
inc edx
mov eax, dword [ebp - 0x24c]
add eax, 0x1c
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x24c], eax
cmp edx, dword [ebp - 0x244]
jb 0x485c96
mov edx, dword [ebp - 0x244]
xor edi, edi
mov dword [ebp - 0x254], edi
test ebx, ebx
je 0x485e3a
mov eax, dword [ebp - 0x248]
mov ecx, edx
mov dword [ebp - 0x24c], ecx
xor esi, esi
test edx, edx
je 0x485d65
lea edi, [ebp - 0x1a4]
push edi
push eax
call fcn.00486680
mov edx, dword [ebp - 0x244]
add esp, 8
test eax, eax
je 0x485d53
mov eax, dword [ebp - 0x248]
inc esi
add edi, 0x1c
cmp esi, edx
jb 0x485d31
mov ebx, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov edi, dword [ebp - 0x254]
cmp esi, edx
jne 0x485e0d
cmp edx, ecx
je 0x485df8
mov ecx, dword [ebp - 0x248]
movzx edx, word [ecx]
cmp dx, word [0x526518]
je 0x485d94
cmp dx, word [0x52651c]
je 0x485d9d
xor esi, esi
jmp 0x485da5
cmp dx, word [0x52651c]
jne 0x485da2
lea esi, [ecx + 8]
jmp 0x485da5
lea esi, [ecx + 4]
mov eax, esi
sub eax, ecx
lea ecx, [ebp - 0x1a4]
add eax, dword [ebp - 0x258]
add ecx, eax
cmp dx, word [0x526518]
je 0x485dcd
cmp dx, word [0x52651c]
je 0x485dcd
xor eax, eax
jmp 0x485de1
cmp dx, word [0x52651c]
mov eax, 4
mov edx, 0x10
cmove eax, edx
push eax
push esi
push ecx
call fcn.0050a9cc
mov ecx, dword [ebp - 0x24c]
add esp, 0xc
mov edx, dword [ebp - 0x244]
inc dword [ebp + edx*4 - 0xa0]
inc edx
add dword [ebp - 0x258], 0x1c
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x248]
inc edi
add eax, 0x1c
mov dword [ebp - 0x254], edi
inc ecx
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x24c], ecx
cmp edi, ebx
jb 0x485d25
jmp 0x485e3a
mov edx, dword [ebp - 0x244]
mov di, word [0x526518]
mov ebx, dword [ebp - 0x264]
movzx eax, di
cmp ebx, eax
jne 0x485ec2
mov dword [ebp - 0x258], 0
test edx, edx
je 0x485ff6
lea ebx, [ebp - 0x1a0]
xor edi, edi
lea esi, [ebp - 0xc4]
nop
push dword [ebx]
call fcn.00484f40
and eax, dword [esi + 4]
add esp, 4
cmp eax, dword [esi]
je 0x485e92
inc edi
add esi, 0xc
cmp edi, 3
jb 0x485e70
mov ecx, dword [ebp - 0x258]
jmp 0x485ea9
mov ecx, dword [ebp - 0x258]
lea eax, [edi + edi*2]
mov eax, dword [ebp + eax*4 - 0xbc]
add dword [ebp + ecx*4 - 0xa0], eax
mov edx, dword [ebp - 0x244]
inc ecx
add ebx, 0x1c
mov dword [ebp - 0x258], ecx
cmp ecx, edx
jb 0x485e66
jmp 0x485fe9
movzx eax, word [0x52651c]
cmp ebx, eax
jne 0x48618d
lea eax, [ebp - 0x80]
mov ecx, 3
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x24c], ecx
nop word [eax + eax]
mov dword [ebp - 0x258], 0
test edx, edx
je 0x485fd1
lea ecx, [eax + 0x10]
lea edi, [ebp - 0x19c]
mov dword [ebp - 0x254], ecx
lea ebx, [ebp - 0x14]
mov eax, edi
sub ebx, eax
lea eax, [edi + 0xf]
lea edx, [ebp - 0x14]
cmp edx, eax
ja 0x485f29
lea eax, [ebp - 5]
cmp eax, edi
jae 0x485f3a
lea eax, [ecx + 0xf]
lea edx, [ebp - 0x14]
cmp edx, eax
ja 0x485f59
lea eax, [ebp - 5]
cmp eax, ecx
jb 0x485f59
mov esi, ecx
mov eax, edi
sub esi, edi
mov edx, 0x10
mov cl, byte [esi + eax]
lea eax, [eax + 1]
and cl, byte [eax - 1]
mov byte [ebx + eax - 1], cl
sub edx, 1
jne 0x485f45
jmp 0x485f67
movups xmm1, xmmword [edi]
movups xmm0, xmmword [ecx]
pand xmm1, xmm0
movups xmmword [ebp - 0x14], xmm1
mov edx, dword [ebp - 0x248]
lea ecx, [ebp - 0x14]
mov esi, 0xc
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x485f9e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x485f75
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x258]
mov eax, dword [eax + 0x20]
add dword [ebp + ecx*4 - 0xa0], eax
jmp 0x485fa4
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x244]
inc ecx
add edi, 0x1c
mov dword [ebp - 0x258], ecx
sub ebx, 0x1c
cmp ecx, edx
mov ecx, dword [ebp - 0x254]
jb 0x485f18
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x24c]
add eax, 0x24
sub ecx, 1
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x24c], ecx
jne 0x485ef0
mov ebx, dword [ebp - 0x264]
mov di, word [0x526518]
or eax, 0xffffffff
xor ecx, ecx
test edx, edx
je 0x4860e0
mov esi, dword [ebp - 0x244]
nop dword [eax]
mov edx, dword [ebp + ecx*4 - 0xa0]
cmp edx, 0xffffffcf
jl 0x48602f
cmp eax, 0xffffffff
jne 0x486025
mov eax, ecx
jmp 0x48602f
cmp edx, dword [ebp + eax*4 - 0xa0]
cmovg eax, ecx
inc ecx
cmp ecx, esi
jb 0x486010
cmp eax, 0xffffffff
je 0x4860e0
mov bx, word [0x52651c]
lea ecx, [eax*8]
sub ecx, eax
lea esi, [ebp - 0x1a4]
shl ecx, 2
add esi, ecx
movzx eax, word [esi]
cmp ax, di
je 0x486069
cmp ax, bx
je 0x48606e
xor edx, edx
jmp 0x48607e
cmp ax, bx
jne 0x486076
lea edx, [ebp - 0x19c]
jmp 0x48607c
lea edx, [ebp - 0x1a0]
add edx, ecx
mov ecx, edx
sub ecx, esi
add ecx, dword [ebp - 0x260]
cmp ax, di
je 0x4860b2
cmp ax, bx
je 0x4860b5
xor eax, eax
push eax
push edx
push ecx
call fcn.0050a9cc
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
cmp ax, bx
mov eax, 4
mov esi, 0x10
cmove eax, esi
push eax
push edx
push ecx
call fcn.0050a9cc
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
movzx eax, di
cmp ebx, eax
jne 0x486110
push 0x7f000001
call fcn.00484c10
mov ecx, dword [ebp - 0x260]
add esp, 4
pop edi
pop esi
mov dword [ecx + 4], eax
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x260]
movzx eax, word [ecx]
cmp ax, di
je 0x486144
cmp ax, word [0x52651c]
je 0x48614d
xor eax, eax
xorps xmm0, xmm0
pop edi
pop esi
pop ebx
movups xmmword [eax], xmm0
mov byte [eax + 0xf], 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
cmp ax, word [0x52651c]
jne 0x48616d
lea eax, [ecx + 8]
xorps xmm0, xmm0
pop edi
movups xmmword [eax], xmm0
pop esi
mov byte [eax + 0xf], 1
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
lea eax, [ecx + 4]
xorps xmm0, xmm0
pop edi
movups xmmword [eax], xmm0
pop esi
mov byte [eax + 0xf], 1
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043c187
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0x11186
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c187
mov esp, ebp
pop ebp
ret