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

Disassembly:
mov ecx, dword [0x6de134]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x513199
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.0046bb7e
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
shl edx, 8
shr ecx, 0x18
or ecx, edx
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x512a49
movzx edx, cl
imul edx, edx, 0x148
shr edx, 0xf
movzx eax, dl
cmp eax, 0x10
jae 0x51318e
mov edx, dword [esp + 0xa0]
inc edx
lea ebx, [0x5820b0]
movzx ebp, byte [ebx + eax]
mov ebx, dword [esp + 0xa4]
cmp ebx, edx
jb 0x5129f9
mov eax, dword [esp + 0x9c]
jmp 0x512a3f
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx ebp, byte [esp + 0x23]
mov ebx, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ebx
mov byte [edx + eax - 1], bl
xchg ebp, ebx
jmp 0x512a5e
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp cl, 0xa
jb 0x512af6
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx esi, al
xchg ebp, eax
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub ebp, esi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x513182
inc edx
mov esi, edx
lea edx, [0x5820b0]
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x512aec
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
movzx ebp, byte [esp + 0x23]
mov esi, edx
lea edx, [0x5820b0]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x512afe
mov esi, edx
lea edx, [0x5820b0]
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x513176
lea ecx, [esi + 1]
movzx ebp, byte [edx + ebp]
cmp ebx, ecx
jae 0x512b68
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5820b0]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [ecx + eax - 1], bl
xchg ebp, ebx
inc ecx
cmp ebx, ecx
jae 0x512ba9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5820b0]
mov dword [esp + 0x2c], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.0046bb7e
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
shl ebp, 0x10
shr ecx, 0x10
or ecx, ebp
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x512c53
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x51316a
mov esi, ebx
mov ebx, dword [esp + 0x2c]
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x512c49
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [0x5820b0]
movzx ebp, byte [esp + 0x23]
mov esi, ecx
mov ecx, dword [esp + 0x30]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
jmp 0x512c59
mov esi, ebx
mov ebx, dword [esp + 0x2c]
cmp cl, 0xa
jb 0x512ce5
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x51315e
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x512cdd
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5820b0]
movzx ebp, byte [esp + 0x23]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x513152
lea ecx, [ebx + 1]
movzx ebx, byte [edx + ebp]
cmp esi, ecx
jae 0x512d4d
mov byte [esp + 0x23], bl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x5820b0]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + eax - 1], bl
inc ecx
cmp esi, ecx
jae 0x512d8a
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
lea edx, [0x5820b0]
mov dword [esp + 0x28], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x48]
mov ebx, esi
lea esi, [esp + 0x88]
call fcn.0046bb7e
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
shr ecx, 8
shl ebp, 0x18
or ebp, ecx
mov dword [esp + 0x30], ebp
xchg ebp, eax
cmp al, 0x64
xchg ebp, eax
jb 0x512e32
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x513146
mov esi, ebp
mov ebp, dword [esp + 0x28]
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x512e2c
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5820b0]
mov ebx, esi
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
jmp 0x512e38
mov esi, ebp
mov ebp, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x512eba
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 0x51313a
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x512eb6
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5820b0]
mov esi, dword [esp + 0x30]
mov byte [ebp + 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 0x51312e
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x512f23
mov byte [esp + 0x23], cl
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
lea edx, [0x5820b0]
mov byte [ebp + eax - 1], cl
lea ecx, [ebp + 1]
cmp ebx, ecx
jae 0x512f62
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5820b0]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.0046bb7e
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x512ffc
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x513122
mov esi, dword [esp + 0x24]
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x512ff2
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5820b0]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x513000
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x51308c
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
xchg ebp, eax
movzx edi, al
xchg ebp, eax
imul edi, edi, 0x19a
shr edi, 0xc
lea edi, [edi + edi*4]
shl edi, 1
sub ebp, edi
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x513116
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x513084
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
lea edx, [0x5820b0]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
movzx ebp, cl
imul ebp, ebp, 0x19a
shr ebp, 0xc
lea ebp, [ebp + ebp*4]
shl ebp, 1
sub ecx, ebp
movzx ebp, cl
cmp ebp, 0x10
jae 0x51310a
lea ecx, [esi + 1]
movzx edx, byte [edx + ebp]
cmp ebx, ecx
jae 0x5130ea
mov byte [esp + 0x23], dl
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, 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], ebx
add esp, 0x84
ret
mov eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
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 eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, 0x10
call sym.runtime.panicIndex
mov eax, ebp
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