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

Disassembly:
mov ecx, dword [0x8e25d4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x58afff
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.00468ffe
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 0x58a8f6
movzx ebx, dl
imul ebx, ebx, 0x148
shr ebx, 0xf
movzx eax, bl
cmp eax, 0x10
jae 0x58aff4
mov ebx, dword [esp + 0xa0]
inc ebx
lea ebp, [0x6c4ff3]
movzx eax, byte [ebp + eax]
mov ebp, dword [esp + 0xa4]
cmp ebp, ebx
jb 0x58a8aa
mov ecx, dword [esp + 0x9c]
jmp 0x58a8f0
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, [0x686a60]
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 0x58a90b
mov ebp, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xa0]
cmp dl, 0xa
jb 0x58a997
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 0x58afea
inc ebx
mov esi, edx
lea edx, [0x6c4ff3]
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x58a991
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, [0x686a60]
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, [0x6c4ff3]
mov esi, dword [esp + 0x2c]
mov byte [ebx + ecx - 1], al
jmp 0x58a99f
mov esi, edx
lea edx, [0x6c4ff3]
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 0x58afe0
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x58aa0c
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, [0x686a60]
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, [0x6c4ff3]
mov byte [ebx + ecx - 1], al
inc ebx
cmp ebp, ebx
jae 0x58aa49
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x686a60]
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, [0x6c4ff3]
mov dword [esp + 0x30], ecx
mov byte [ebx + ecx - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.00468ffe
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 0x58aaef
movzx eax, cl
imul eax, eax, 0x148
shr eax, 0xf
movzx eax, al
cmp eax, 0x10
jae 0x58afd6
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jb 0x58aaa2
mov esi, dword [esp + 0x30]
jmp 0x58aae9
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, [0x686a60]
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, [0x6c4ff3]
mov esi, ecx
mov ecx, dword [esp + 0x2c]
mov byte [ebx + esi - 1], al
jmp 0x58aaf3
mov esi, dword [esp + 0x30]
cmp cl, 0xa
jb 0x58ab71
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 0x58afcc
inc ebx
movzx eax, byte [edx + eax]
cmp ebp, ebx
jae 0x58ab6d
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, [0x686a60]
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, [0x6c4ff3]
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 0x58afc2
lea ecx, [ebx + 1]
movzx ebx, byte [edx + eax]
cmp ebp, ecx
jae 0x58abd8
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, [0x686a60]
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, [0x6c4ff3]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x58ac15
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x686a60]
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, [0x6c4ff3]
mov dword [esp + 0x28], ecx
mov byte [ecx + esi - 1], 0x2e
lea edi, [esp + 0x48]
mov eax, esi
lea esi, [esp + 0x88]
call fcn.00468ffe
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 0x58acb9
movzx ecx, bl
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x58afb6
mov esi, ebx
mov ebx, dword [esp + 0x28]
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x58acb3
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, [0x686a60]
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, [0x6c4ff3]
mov eax, esi
mov esi, dword [esp + 0x2c]
mov byte [ebx + eax - 1], cl
jmp 0x58acbf
mov esi, ebx
mov ebx, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x58ad41
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 0x58afaa
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x58ad3d
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, [0x686a60]
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, [0x6c4ff3]
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 0x58af9e
inc ebx
movzx ecx, byte [edx + ecx]
cmp ebp, ebx
jae 0x58adaa
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, [0x686a60]
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, [0x6c4ff3]
mov byte [ebx + eax - 1], cl
lea ecx, [ebx + 1]
cmp ebp, ecx
jae 0x58ade9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x686a60]
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, [0x6c4ff3]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.00468ffe
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], ecx
cmp cl, 0x64
jb 0x58ae7b
movzx ebx, cl
imul ebx, ebx, 0x148
shr ebx, 0xf
movzx ebx, bl
cmp ebx, 0x10
jae 0x58af92
mov esi, dword [esp + 0x24]
inc esi
movzx ebx, byte [edx + ebx]
cmp ebp, esi
jae 0x58ae75
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, [0x686a60]
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, [0x6c4ff3]
movzx ebx, byte [esp + 0x23]
mov byte [esi + eax - 1], bl
jmp 0x58ae7f
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x58aefd
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 0x58af86
inc esi
movzx ebx, byte [edx + ebx]
cmp ebp, esi
jae 0x58aef9
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, [0x686a60]
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, [0x6c4ff3]
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 0x58af7a
lea ecx, [esi + 1]
movzx edx, byte [edx + ebx]
cmp ebp, ecx
jae 0x58af5a
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, [0x686a60]
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