Function at 0x6dd1e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x6de58f
sub esp, 0x9c
mov eax, dword [esp + 0xac]
xor ecx, ecx
mov edx, ecx
xor ebx, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x98], ebx
lea ebp, [eax + 4]
mov dword [esp + 0x4c], ebp
mov esi, dword [esp + 0xa4]
cmp ebp, esi
jg 0x6de4f8
cmp eax, esi
ja 0x6de4f1
mov edi, esi
sub esi, eax
mov ebx, dword [esp + 0xa8]
sub ebx, eax
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and ebx, eax
cmp esi, 1
jbe 0x6de4ea
mov esi, dword [esp + 0xa0]
movzx edx, byte [esi + ebx + 1]
movzx ebx, byte [esi + ebx]
shl ebx, 8
or ebx, edx
mov word [esp + 0x22], bx
lea edx, [eax + 2]
cmp edx, edi
ja 0x6de4e3
sub edi, edx
mov ecx, dword [esp + 0xa8]
sub ecx, edx
dec ecx
sar ecx, 0x1f
xor ecx, 0xffffffff
and edx, ecx
cmp edi, 1
jbe 0x6de4dc
movzx ecx, byte [esi + edx + 1]
movzx edx, byte [esi + edx]
shl edx, 8
or edx, ecx
movzx ecx, dx
mov dword [esp + 0x34], ecx
lea eax, [eax + ecx + 4]
mov dword [esp + 0x48], eax
mov edx, dword [esp + 0xa4]
cmp eax, edx
jg 0x6de445
cmp bx, 5
ja 0x6dddac
cmp bx, 2
ja 0x6dda61
cmp bx, 1
je 0x6dd755
cmp bx, 2
je 0x6dd572
lea edi, [0x9147a0]
mov dword [esp], edi
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
movzx ecx, word [esp + 0x22]
mov word [eax], cx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6dd56b
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6dd56b
lea ebp, [0x8e94a0]
mov dword [esp], ebp
mov esi, dword [esp + 0x34]
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call dbg.runtime.makeslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x70]
mov dword [ebx + 8], ecx
mov dword [ebx + 0xc], eax
mov eax, dword [0xc93940]
mov ecx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x4c]
mov esi, ecx
sub ecx, ebp
dec ecx
sar ecx, 0x1f
xor ecx, 0xffffffff
and ebp, ecx
mov ecx, dword [esp + 0xa0]
add ebp, ecx
mov dword [esp + 0x90], ebp
lea edi, [ebx + 4]
test eax, eax
jne 0x6dd541
mov dword [ebx + 4], edx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov edi, dword [esp + 0x34]
cmp eax, edi
jle 0x6dd536
mov eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call dbg.runtime.memmove
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
cmp eax, ecx
je 0x6dd52d
mov eax, dword [0xc77334]
mov ecx, dword [0xc77330]
test ecx, ecx
jne 0x6dd4e9
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jg 0x6dd4ac
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ebp, eax
shl eax, 3
lea esi, [0xc4dba0]
mov dword [ebx + eax], esi
mov edi, dword [0xc93940]
lea ebp, [ebx + ebp*8 + 4]
test edi, edi
jne 0x6dd47b
mov ebp, dword [esp + 0x70]
mov dword [ebx + eax + 4], ebp
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
jge 0x6dd442
jmp 0x6dd20d
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
add esp, 0x9c
ret
mov dword [esp], ebp
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
lea esi, [0xc4dba0]
jmp 0x6dd43b
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
jmp 0x6dd3fe
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
xor ecx, ecx
xor eax, eax
jmp 0x6dd3dc
mov edi, eax
mov eax, dword [esp + 0x34]
jmp 0x6dd3ac
mov dword [esp], edi
mov dword [esp + 4], edx
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x90]
mov esi, dword [esp + 0xa8]
jmp 0x6dd398
call dbg.runtime.panicslice
ud2
lea ebx, [0x9148c0]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6dd74e
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6dd74e
mov ebp, ebx
sub ebx, ecx
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and ecx, ebx
mov ebx, dword [esp + 0x34]
cmp ebx, 4
jge 0x6dd70d
mov ecx, dword [0xc77330]
mov ebx, dword [0xc77334]
test ecx, ecx
jne 0x6dd6c9
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + 1]
mov esi, dword [esp + 0x28]
cmp ebx, esi
jg 0x6dd67a
mov edi, dword [esp + 0x98]
mov dword [esp + 0x68], edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x28], esi
shl ecx, 3
lea ebp, [0xc4dca0]
mov dword [edi + ecx], ebp
mov ebp, dword [esp + 0x24]
lea ebp, [edi + ebp*8 + 4]
mov dword [esp + 0x98], ebp
mov ebp, dword [0xc93940]
test ebp, ebp
jne 0x6dd64c
mov dword [edi + ecx + 4], eax
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov eax, edx
mov ebp, dword [esp + 0xa4]
lea esi, [0xc4dba0]
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov ebx, edi
jmp 0x6dd43b
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x68]
jmp 0x6dd630
lea edi, [0x91cc40]
mov dword [esp], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0xa8]
jmp 0x6dd5f2
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebx
add esp, 0x9c
ret
mov esi, dword [esp + 0xa0]
movzx edi, byte [esi + ecx + 3]
mov ebx, edi
movzx edi, byte [esi + ecx + 2]
mov dword [esp + 0x44], edi
movzx edi, byte [esi + ecx + 1]
movzx esi, byte [esi + ecx]
mov ecx, esi
mov esi, dword [esp + 0x44]
shl esi, 8
or esi, ebx
shl edi, 0x10
or esi, edi
shl ecx, 0x18
or esi, ecx
mov dword [eax + 4], esi
xor ecx, ecx
xor ebx, ebx
jmp 0x6dd5d0
call dbg.runtime.panicslice
ud2
lea ebx, [0x947a20]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6dda5a
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6dda5a
sub ebx, ecx
mov dword [esp + 0x30], ebx
lea esi, [ebx - 1]
sar esi, 0x1f
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0xa0]
lea edi, [ecx + esi]
mov ebp, dword [esp + 0x34]
cmp ebp, 0x12
jge 0x6dd8fe
mov ecx, dword [0xc77334]
mov ebx, dword [0xc77330]
test ebx, ebx
jne 0x6dd8ba
mov ecx, dword [esp + 0x24]
lea ebx, [ecx + 1]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jg 0x6dd86b
mov edi, dword [esp + 0x98]
mov dword [esp + 0x68], edi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x28], ebp
shl ecx, 3
lea esi, [0xc4db60]
mov dword [edi + ecx], esi
mov esi, dword [esp + 0x24]
lea esi, [edi + esi*8 + 4]
mov dword [esp + 0x98], esi
mov esi, dword [0xc93940]
test esi, esi
jne 0x6dd83d
mov dword [edi + ecx + 4], eax
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov eax, edx
mov ebp, dword [esp + 0xa4]
lea esi, [0xc4dba0]
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov ebx, edi
jmp 0x6dd43b
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x68]
jmp 0x6dd821
lea edi, [0x91cc40]
mov dword [esp], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call dbg.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0xa0]
jmp 0x6dd7e3
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ecx
add esp, 0x9c
ret
movzx edx, byte [esi + ecx]
movzx ecx, byte [esi + ecx + 1]
shl edx, 8
or edx, ecx
mov word [eax + 2], dx
lea ecx, [ebx - 3]
lea edx, [ebp - 2]
sar ecx, 0x1f
xor ecx, 0xffffffff
and ecx, 2
cmp edx, 1
jbe 0x6dda53
movzx edx, byte [edi + ecx]
movzx ecx, byte [edi + ecx + 1]
shl edx, 8
or edx, ecx
mov word [eax + 4], dx
lea ecx, [ebx - 5]
sar ecx, 0x1f
lea edx, [ebp - 4]
xor ecx, 0xffffffff
and ecx, 4
cmp edx, 1
jbe 0x6dda53
movzx edx, byte [edi + ecx]
movzx ecx, byte [edi + ecx + 1]
shl edx, 8
or edx, ecx
mov word [eax + 6], dx
lea ecx, [ebx - 7]
sar ecx, 0x1f
lea edx, [ebp - 6]
xor ecx, 0xffffffff
and ecx, 6
cmp edx, 7
jbe 0x6dda53
movzx edx, byte [edi + ecx + 4]
movzx esi, byte [edi + ecx + 3]
mov dword [esp + 0x44], esi
movzx ebp, byte [edi + ecx + 5]
movzx ebx, byte [edi + ecx]
mov dword [esp + 0x40], ebx
movzx ebx, byte [edi + ecx + 7]
movzx esi, byte [edi + ecx + 1]
mov dword [esp + 0x3c], esi
movzx esi, byte [edi + ecx + 6]
mov dword [esp + 0x38], esi
movzx ecx, byte [edi + ecx + 2]
shl esi, 8
or esi, ebx
mov ebx, ebp
shl ebp, 0x10
or ebp, esi
mov esi, edx
shl edx, 0x18
or edx, ebp
mov dword [eax + 8], edx
mov edx, dword [esp + 0x38]
shr edx, 0x18
shr ebx, 0x10
or edx, ebx
shr esi, 8
or edx, esi
mov ebx, dword [esp + 0x44]
or ebx, edx
shl ecx, 8
or ecx, ebx
mov edx, dword [esp + 0x3c]
shl edx, 0x10
or ecx, edx
mov edx, dword [esp + 0x40]
shl edx, 0x18
or edx, ecx
mov dword [eax + 0xc], edx
mov ecx, dword [esp + 0x30]
add ecx, 0xfffffff1
sar ecx, 0x1f
mov edx, dword [esp + 0x34]
add edx, 0xfffffff2
xor ecx, 0xffffffff
and ecx, 0xe
cmp edx, 3
jbe 0x6dda53
movzx ebp, byte [edi + ecx + 3]
mov edx, ebp
movzx ebp, byte [edi + ecx + 2]
mov ebx, ebp
movzx ebp, byte [edi + ecx + 1]
movzx edi, byte [edi + ecx]
shl ebx, 8
or edx, ebx
shl ebp, 0x10
or edx, ebp
shl edi, 0x18
or edx, edi
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0xa0]
xor ecx, ecx
xor ebx, ebx
jmp 0x6dd7c1
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
cmp bx, 3
je 0x6ddc15
cmp bx, 5
je 0x6dda76
jmp 0x6dd2ef
lea ebx, [0x9146e0]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6ddc0e
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6ddc0e
mov ebp, dword [esp + 0x34]
mov dword [eax + 8], ebp
mov ebp, ebx
sub ebx, ecx
mov dword [eax + 0xc], ebx
mov esi, dword [0xc93940]
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and ecx, ebx
mov ebx, dword [esp + 0xa0]
add ecx, ebx
lea edi, [eax + 4]
test esi, esi
jne 0x6ddbe7
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + 1]
mov edi, dword [esp + 0x28]
cmp esi, edi
jg 0x6ddb90
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], edi
shl ecx, 3
lea ebx, [0xc4dae0]
mov ebp, dword [esp + 0x68]
mov dword [ebp + ecx], ebx
mov ebx, dword [esp + 0x24]
lea ebx, [ebp + ebx*8 + 4]
mov dword [esp + 0x98], ebx
mov ebx, dword [0xc93940]
test ebx, ebx
jne 0x6ddb62
mov dword [ebp + ecx + 4], eax
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov eax, edx
mov ebp, dword [esp + 0xa4]
lea esi, [0xc4dba0]
mov edx, edi
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
jmp 0x6dd43b
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x28]
jmp 0x6ddb44
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x74]
jmp 0x6ddb05
mov dword [esp], edi
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
jmp 0x6ddadf
call dbg.runtime.panicslice
ud2
lea ebx, [0x914860]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6ddda5
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6ddda5
mov dword [esp], eax
sub ebx, ecx
lea esi, [ebx - 1]
sar esi, 0x1f
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0xa0]
add ecx, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call dbg.github.com/miekg/dns.(*EDNS0_NSID).unpack
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x6ddd61
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jg 0x6ddd24
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ebp, eax
shl eax, 3
lea esi, [0xc4dc20]
mov dword [ebx + eax], esi
lea ebp, [ebx + ebp*8 + 4]
mov edi, dword [0xc93940]
test edi, edi
jne 0x6ddcf0
mov ebp, dword [esp + 0x80]
mov dword [ebx + eax + 4], ebp
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
lea esi, [0xc4dba0]
jmp 0x6dd43b
mov dword [esp], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
lea esi, [0xc4dc20]
jmp 0x6ddce5
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
jmp 0x6ddca5
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
call dbg.runtime.panicslice
ud2
cmp bx, 7
ja 0x6de0ec
cmp bx, 6
jne 0x6ddf5f
lea ebx, [0x914740]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6ddf58
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6ddf58
mov ebp, dword [esp + 0x34]
mov dword [eax + 8], ebp
mov ebp, ebx
sub ebx, ecx
mov dword [eax + 0xc], ebx
mov esi, dword [0xc93940]
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and ecx, ebx
mov ebx, dword [esp + 0xa0]
add ecx, ebx
lea edi, [eax + 4]
test esi, esi
jne 0x6ddf31
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + 1]
mov edi, dword [esp + 0x28]
cmp esi, edi
jg 0x6ddeda
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], edi
shl ecx, 3
lea ebx, [0xc4db20]
mov ebp, dword [esp + 0x68]
mov dword [ebp + ecx], ebx
mov ebx, dword [esp + 0x24]
lea ebx, [ebp + ebx*8 + 4]
mov dword [esp + 0x98], ebx
mov ebx, dword [0xc93940]
test ebx, ebx
jne 0x6ddeac
mov dword [ebp + ecx + 4], eax
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov eax, edx
mov ebp, dword [esp + 0xa4]
lea esi, [0xc4dba0]
mov edx, edi
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
jmp 0x6dd43b
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x28]
jmp 0x6dde8e
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x7c]
jmp 0x6dde4f
mov dword [esp], edi
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
jmp 0x6dde29
call dbg.runtime.panicslice
ud2
lea ebx, [0x914800]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6de0e5
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6de0e5
mov ebp, dword [esp + 0x34]
mov dword [eax + 8], ebp
mov ebp, ebx
sub ebx, ecx
mov dword [eax + 0xc], ebx
mov esi, dword [0xc93940]
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and ecx, ebx
mov ebx, dword [esp + 0xa0]
add ecx, ebx
lea edi, [eax + 4]
test esi, esi
jne 0x6de0be
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x24]
lea esi, [ecx + 1]
mov edi, dword [esp + 0x28]
cmp esi, edi
jg 0x6de067
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x28], edi
shl ecx, 3
lea ebx, [0xc4dbe0]
mov ebp, dword [esp + 0x68]
mov dword [ebp + ecx], ebx
mov ebx, dword [0xc93940]
mov esi, dword [esp + 0x24]
lea esi, [ebp + esi*8 + 4]
test ebx, ebx
jne 0x6de044
mov dword [ebp + ecx + 4], eax
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov eax, edx
mov ebp, dword [esp + 0xa4]
lea esi, [0xc4dba0]
mov edx, edi
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x68]
jmp 0x6dd43b
mov dword [esp], esi
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xa4]
cmp edx, eax
mov ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x28]
jmp 0x6de026
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call dbg.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x78]
jmp 0x6ddfee
mov dword [esp], edi
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa8]
jmp 0x6ddfc8
call dbg.runtime.panicslice
ud2
cmp bx, 8
je 0x6de108
cmp bx, 0xa
je 0x6de2b7
cmp bx, 0x50fa
je 0x6de108
jmp 0x6dd2ef
lea edi, [0x947ac0]
mov dword [esp], edi
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6de2b0
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6de2b0
mov dword [esp], eax
sub ebx, ecx
lea esi, [ebx - 1]
sar esi, 0x1f
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0xa0]
add ecx, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call dbg.github.com/miekg/dns.(*EDNS0_SUBNET).unpack
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x6de26c
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jg 0x6de22f
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ebp, eax
shl eax, 3
lea esi, [0xc4dc60]
mov dword [ebx + eax], esi
lea ebp, [ebx + ebp*8 + 4]
mov edi, dword [0xc93940]
test edi, edi
jne 0x6de201
mov ebp, dword [esp + 0x84]
mov dword [ebx + eax + 4], ebp
movzx eax, word [esp + 0x22]
cmp ax, 0x50fa
jne 0x6de1f2
mov byte [ebp + 0x14], 1
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
lea esi, [0xc4dba0]
jmp 0x6dd43b
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
jmp 0x6de1e7
mov dword [esp], ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x84]
lea esi, [0xc4dc60]
jmp 0x6de1cb
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
jmp 0x6de198
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
call dbg.runtime.panicslice
ud2
lea ebx, [0x914680]
mov dword [esp], ebx
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x6de43e
mov ebx, dword [esp + 0xa8]
cmp edx, ebx
ja 0x6de43e
mov dword [esp], eax
sub ebx, ecx
lea esi, [ebx - 1]
sar esi, 0x1f
xor esi, 0xffffffff
and ecx, esi
mov esi, dword [esp + 0xa0]
add ecx, esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call dbg.github.com/miekg/dns.(*EDNS0_COOKIE).unpack
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x6de3fa
mov eax, dword [esp + 0x24]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jg 0x6de3bd
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov ebp, eax
shl eax, 3
lea esi, [0xc4daa0]
mov dword [ebx + eax], esi
lea ebp, [ebx + ebp*8 + 4]
mov edi, dword [0xc93940]
test edi, edi
jne 0x6de38c
mov ebp, dword [esp + 0x6c]
mov dword [ebx + eax + 4], ebp
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
lea esi, [0xc4dba0]
jmp 0x6dd43b
mov dword [esp], ebp
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
cmp eax, ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
lea esi, [0xc4daa0]
jmp 0x6de381
lea ebx, [0x91cc40]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call dbg.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
jmp 0x6de344
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov edx, dword [esp + 0xa4]
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
call dbg.runtime.panicslice
ud2
lea eax, [0x9063a0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [eax + 4], 0x16
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x6de4c1
lea ecx, [0x995898]
mov dword [eax], ecx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xbc], ecx
lea ecx, [0xc48440]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
mov dword [esp], eax
lea ecx, [0x995898]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x94]
jmp 0x6de477
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicindex
ud2
call dbg.runtime.panicslice
ud2
lea eax, [0x9063a0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [eax + 4], 0x16
mov ecx, dword [0xc93940]
test ecx, ecx
jne 0x6de574
lea ecx, [0x995898]
mov dword [eax], ecx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xbc], ecx
lea ecx, [0xc48440]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
add esp, 0x9c
ret
mov dword [esp], eax
lea ecx, [0x995898]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x94]
jmp 0x6de52a
call dbg.runtime.morestack_noctxt
jmp dbg.github.com/miekg/dns.unpackDataOpt