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

Disassembly:
mov ecx, dword [0x60047c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x4a1cd8
sub esp, 0x94
xor eax, eax
mov ecx, 0xffffffff
mov edx, 0xffffffff
jmp 0x4a1741
inc eax
mov ecx, ebx
mov edx, ebp
mov byte [esp + 0x23], dl
mov byte [esp + 0x22], cl
cmp al, 8
jae 0x4a177e
mov byte [esp + 0x27], al
mov ebx, eax
jmp 0x4a1c0f
mov ebp, eax
sub eax, ebx
cmp al, 2
jb 0x4a1776
mov esi, edx
sub edx, ecx
cmp dl, al
jae 0x4a176e
mov eax, ebx
jmp 0x4a173c
mov eax, ebx
mov ebx, ecx
mov ebp, esi
jmp 0x4a173c
mov eax, ebx
mov ebx, ecx
mov ebp, edx
jmp 0x4a173c
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0xb4]
xor esi, esi
jmp 0x4a17af
mov byte [ecx + edi - 1], dl
inc esi
movzx edx, byte [esp + 0x23]
movzx ebx, byte [esp + 0x22]
mov ebp, edi
mov ebx, ecx
movzx ecx, byte [esp + 0x22]
xchg esi, eax
cmp al, 8
xchg esi, eax
jae 0x4a1ae6
xchg esi, eax
cmp cl, al
xchg esi, eax
jne 0x4a1813
add ebx, 2
cmp eax, ebx
jae 0x4a17ff
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x22]
movzx edx, byte [esp + 0x23]
mov word [ebx + ebp - 2], 0x3a3a
cmp dl, 8
jae 0x4a1ae6
mov esi, edx
jmp 0x4a186d
xchg esi, eax
test al, al
xchg esi, eax
jbe 0x4a1866
inc ebx
cmp eax, ebx
jae 0x4a1861
xchg esi, eax
mov byte [esp + 0x24], al
xchg esi, eax
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x22]
movzx edx, byte [esp + 0x23]
movzx esi, byte [esp + 0x24]
mov byte [ebx + ebp - 1], 0x3a
mov edx, esi
movzx esi, byte [esp + 0x23]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x8c], ebp
mov byte [esp + 0x27], dl
lea edi, [esp + 0x64]
lea esi, [esp + 0x98]
call fcn.00469b7e
mov ecx, edx
shr dl, 2
and edx, 1
mov esi, ecx
and ecx, 3
add ecx, 0xfffffffd
neg ecx
shl ecx, 4
mov byte [esp + 0x26], cl
lea edi, [ecx - 0x20]
xchg edi, eax
mov byte [esp + 0x25], al
xchg edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
lea ebp, [esp + 0x64]
mov dword [esp + 0x40], ebp
lea ebp, [esp + 0x6c]
mov dword [esp + 0x44], ebp
mov edx, dword [esp + edx*4 + 0x40]
mov ebp, dword [edx + 4]
mov dword [esp + 0x38], ebp
mov edx, dword [edx]
shr edx, cl
mov ecx, edi
shl ebp, cl
movzx ecx, byte [esp + 0x25]
mov ebx, dword [esp + 0x38]
shr ebx, cl
mov dword [esp + 0x38], ebx
movzx ebx, byte [esp + 0x26]
cmp bl, 0x20
sbb ebx, ebx
and edx, ebx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
and ebp, ebx
or ebp, edx
cmp cl, 0x20
sbb ecx, ecx
mov edx, dword [esp + 0x38]
and edx, ecx
or edx, ebp
mov dword [esp + 0x38], edx
cmp dx, 0x1000
jb 0x4a19ac
mov ebx, edx
shr dx, 0xc
movzx edx, dx
cmp edx, 0x10
jae 0x4a1c02
mov ecx, dword [esp + 0x2c]
inc ecx
lea ebp, [0x4fbf9c]
movzx edx, byte [edx + ebp]
cmp eax, ecx
jb 0x4a1957
mov edi, dword [esp + 0x8c]
jmp 0x4a19a6
mov byte [esp + 0x26], dl
mov edx, dword [esp + 0x8c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
movzx esi, byte [esp + 0x27]
mov edi, ebp
lea ebp, [0x4fbf9c]
mov byte [ecx + edi - 1], dl
jmp 0x4a19bf
mov ebx, edx
lea ebp, [0x4fbf9c]
mov edi, dword [esp + 0x8c]
mov ecx, dword [esp + 0x2c]
cmp bx, 0x100
jb 0x4a1a25
inc ecx
mov edx, ebx
shr bx, 8
and ebx, 0xf
movzx ebx, byte [ebp + ebx]
cmp eax, ecx
jae 0x4a1a1f
mov byte [esp + 0x26], bl
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
movzx ebx, byte [esp + 0x26]
lea ebp, [0x4fbf9c]
movzx esi, byte [esp + 0x27]
mov byte [ecx + edi - 1], bl
jmp 0x4a1a27
mov edx, ebx
cmp dx, 0x10
jb 0x4a1a8c
inc ecx
mov ebx, edx
shr dx, 4
and edx, 0xf
movzx edx, byte [ebp + edx]
cmp eax, ecx
jae 0x4a1a86
mov byte [esp + 0x26], dl
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x38]
lea ebp, [0x4fbf9c]
movzx esi, byte [esp + 0x27]
mov byte [ecx + edi - 1], dl
jmp 0x4a1a8e
mov ebx, edx
inc ecx
and ebx, 0xf
movzx edx, byte [ebp + ebx]
cmp eax, ecx
jae 0x4a1797
mov byte [esp + 0x26], dl
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
movzx edx, byte [esp + 0x26]
lea ebp, [0x4fbf9c]
movzx esi, byte [esp + 0x27]
jmp 0x4a1797
mov ecx, dword [esp + 0xa8]
cmp dword [0x5c1830], ecx
je 0x4a1be6
lea ecx, [ebx + 1]
cmp eax, ecx
jae 0x4a1b2e
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov byte [ecx + ebp - 1], 0x25
lea edi, [esp + 0x50]
lea esi, [esp + 0x98]
call fcn.00469b7e
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x4a1b69
lea edx, [0x4e0800]
cmp dword [ecx], edx
jne 0x4a1b63
mov ecx, dword [ecx + 4]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x4a1b6d
xor ecx, ecx
xor edx, edx
jmp 0x4a1b6d
xor ecx, ecx
xor edx, edx
mov ebx, dword [esp + 0x34]
lea esi, [ebx + ecx]
cmp eax, esi
jae 0x4a1bb6
mov dword [esp + 0x28], ecx
mov dword [esp + 0x3c], edx
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
lea eax, [0x4e0880]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x90], ebp
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
add ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], eax
add esp, 0x94
ret
mov eax, edx
mov ecx, 0x10
call sym.runtime.panicIndex
inc eax
cmp al, 8
jae 0x4a1cc7
lea edi, [esp + 0x78]
lea esi, [esp + 0x98]
call fcn.00469b7e
mov ecx, eax
shr al, 2
and eax, 1
mov ebp, ecx
and ecx, 3
add ecx, 0xfffffffd
neg ecx
shl ecx, 4
mov byte [esp + 0x26], cl
lea esi, [ecx - 0x20]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
lea edx, [esp + 0x78]
mov dword [esp + 0x48], edx
lea edx, [esp + 0x80]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + eax*4 + 0x48]
mov eax, dword [edx + 4]
mov dword [esp + 0x38], eax
mov edx, dword [edx]
mov ecx, edi
shr eax, cl
mov ecx, esi
mov ebx, dword [esp + 0x38]
shl ebx, cl
movzx ecx, byte [esp + 0x26]
shr edx, cl
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and eax, edi
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebx, esi
cmp cl, 0x20
sbb ecx, ecx
and edx, ecx
or edx, ebx
or eax, edx
test ax, ax
sete cl
mov eax, ebp
movzx edx, byte [esp + 0x23]
movzx ebx, byte [esp + 0x27]
mov ebp, ecx
movzx ecx, byte [esp + 0x22]
jmp 0x4a1cc9
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4a1c0e
jmp 0x4a1759
call sym.runtime.morestack_noctxt
jmp sym.net_netip.Addr.appendTo6