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

Disassembly:
mov ecx, dword [0x5c71e0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x4787df
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.00465c5e
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
shl edx, 8
shr ecx, 0x18
or edx, ecx
mov dword [esp + 0x2c], edx
cmp dl, 0x64
jb 0x4780d6
movzx ebx, dl
imul ebx, ebx, 0x148
shr ebx, 0xf
movzx eax, bl
cmp eax, 0x10
jae 0x4787d4
mov ebx, dword [esp + 0xa0]
inc ebx
lea ebp, [0x4ecab1]
movzx eax, byte [ebp + eax]
mov ebp, dword [esp + 0xa4]
cmp ebp, ebx
jb 0x47808a
mov ecx, dword [esp + 0x9c]
jmp 0x4780d0
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebp, ecx
mov ecx, eax
movzx eax, byte [esp + 0x23]
mov byte [ebx + ecx - 1], al
jmp 0x4780eb
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
cmp dl, 0xa
jb 0x478177
movzx eax, dl
imul eax, eax, 0x19a
shr eax, 0xc
movzx esi, al
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub eax, esi
movzx eax, al
cmp eax, 0x10
jae 0x4787ca
inc ebx
mov esi, edx
lea edx, [0x4ecab1]
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x478171
mov byte [esp + 0x23], al
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov esi, dword [esp + 0x2c]
mov byte [ebx + ecx - 1], al
jmp 0x47817f
mov esi, edx
lea edx, [0x4ecab1]
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
imul eax, eax, 0x19a
shr eax, 0xc
lea eax, [eax + eax*4]
shl eax, 1
sub esi, eax
xchg esi, ebx
movzx eax, bl
xchg esi, ebx
cmp eax, 0x10
jae 0x4787c0
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x4781ec
mov byte [esp + 0x23], al
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov byte [ebx + ecx - 1], al
inc ebx
cmp ebp, ebx
jae 0x478229
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [0x4ecab1]
mov dword [esp + 0x30], ecx
mov byte [ebx + ecx - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.00465c5e
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
shl eax, 0x10
shr ecx, 0x10
or ecx, eax
mov dword [esp + 0x2c], ecx
cmp cl, 0x64
jb 0x4782cf
movzx eax, cl
imul eax, eax, 0x148
shr eax, 0xf
movzx eax, al
cmp eax, 0x10
jae 0x4787b6
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jb 0x478282
mov esi, dword [esp + 0x30]
jmp 0x4782c9
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov byte [ebx + esi - 1], al
jmp 0x4782d3
mov esi, dword [esp + 0x30]
cmp cl, 0xa
jb 0x478351
movzx eax, cl
imul eax, eax, 0x19a
shr eax, 0xc
movzx edi, al
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub eax, edi
movzx eax, al
cmp eax, 0x10
jae 0x4787ac
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x47834d
mov byte [esp + 0x23], al
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x23]
mov ecx, dword [esp + 0x2c]
lea edx, [0x4ecab1]
mov byte [ebx + esi - 1], al
movzx eax, cl
imul eax, eax, 0x19a
shr eax, 0xc
lea eax, [eax + eax*4]
shl eax, 1
sub ecx, eax
movzx eax, cl
cmp eax, 0x10
jae 0x4787a2
lea ecx, [ebx + 1]
movzx ebx, byte [edx + eax]
cmp ebp, ecx
jae 0x4783b8
mov byte [esp + 0x23], bl
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [0x4ecab1]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x4783f5
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [0x4ecab1]
mov dword [esp + 0x28], ecx
mov byte [ecx + esi - 1], 0x2e
lea edi, [esp + 0x48]
mov eax, esi
lea esi, [esp + 0x88]
call fcn.00465c5e
mov ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
shr ecx, 8
shl ebx, 0x18
or ebx, ecx
mov dword [esp + 0x2c], ebx
cmp bl, 0x64
jb 0x478499
movzx ecx, bl
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x478796
mov esi, ebx
mov ebx, dword [esp + 0x28]
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x478493
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov eax, esi
mov esi, dword [esp + 0x2c]
mov byte [ebx + eax - 1], cl
jmp 0x47849f
mov esi, ebx
mov ebx, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x478521
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
movzx edi, cl
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ecx, edi
movzx ecx, cl
cmp ecx, 0x10
jae 0x47878a
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x47851d
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov esi, dword [esp + 0x2c]
mov byte [ebx + eax - 1], cl
xchg esi, eax
movzx ecx, al
xchg esi, eax
imul ecx, ecx, 0x19a
shr ecx, 0xc
lea ecx, [ecx + ecx*4]
shl ecx, 1
sub esi, ecx
xchg esi, eax
movzx ecx, al
xchg esi, eax
cmp ecx, 0x10
jae 0x47877e
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x47858a
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x4ecab1]
mov byte [ebx + eax - 1], cl
lea ecx, [ebx + 1]
cmp ebp, ecx
jae 0x4785c9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [0x4ecab1]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.00465c5e
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ecx
cmp cl, 0x64
jb 0x47865b
movzx ebx, cl
imul ebx, ebx, 0x148
shr ebx, 0xf
movzx ebx, bl
cmp ebx, 0x10
jae 0x478772
mov esi, dword [esp + 0x24]
inc esi
movzx ebx, byte [edx + ebx]
cmp ebp, esi
jae 0x478655
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea edx, [0x4ecab1]
movzx ebx, byte [esp + 0x23]
mov byte [esi + eax - 1], bl
jmp 0x47865f
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x4786dd
movzx ebx, cl
imul ebx, ebx, 0x19a
shr ebx, 0xc
movzx edi, bl
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebx, edi
movzx ebx, bl
cmp ebx, 0x10
jae 0x478766
inc esi
movzx ebx, byte [edx + ebx]
cmp ebp, esi
jae 0x4786d9
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea edx, [0x4ecab1]
movzx ebx, byte [esp + 0x23]
mov byte [esi + eax - 1], bl
movzx ebx, cl
imul ebx, ebx, 0x19a
shr ebx, 0xc
lea ebx, [ebx + ebx*4]
shl ebx, 1
sub ecx, ebx
movzx ebx, cl
cmp ebx, 0x10
jae 0x47875a
lea ecx, [esi + 1]
movzx edx, byte [edx + ebx]
cmp ebp, ecx
jae 0x47873a
mov byte [esp + 0x23], dl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4d3d20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx edx, byte [esp + 0x23]
mov byte [ecx + eax - 1], dl
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
add esp, 0x84
ret
mov eax, ebx
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
mov ecx, 0x10
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.net_netip.Addr.appendTo4