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

Disassembly:
mov ecx, dword [0x8c8664]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x5771a9
sub esp, 0x84
lea edi, [esp + 0x70]
lea esi, [esp + 0x88]
call fcn.0046cd7e
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 0x576a59
movzx edx, cl
imul edx, edx, 0x148
shr edx, 0xf
movzx eax, dl
cmp eax, 0x10
jae 0x57719e
mov edx, dword [esp + 0xa0]
inc edx
lea ebx, [0x6b0003]
movzx ebp, byte [ebx + eax]
mov ebx, dword [esp + 0xa4]
cmp ebx, edx
jb 0x576a09
mov eax, dword [esp + 0x9c]
jmp 0x576a4f
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, [0x672500]
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 0x576a6e
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
cmp cl, 0xa
jb 0x576b06
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 0x577192
inc edx
mov esi, edx
lea edx, [0x6b0003]
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x576afc
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, [0x672500]
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, [0x6b0003]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x576b0e
mov esi, edx
lea edx, [0x6b0003]
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 0x577186
lea ecx, [esi + 1]
movzx ebp, byte [edx + ebp]
cmp ebx, ecx
jae 0x576b78
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, [0x672500]
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, [0x6b0003]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [ecx + eax - 1], bl
xchg ebp, ebx
inc ecx
cmp ebx, ecx
jae 0x576bb9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x672500]
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, [0x6b0003]
mov dword [esp + 0x2c], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x5c]
lea esi, [esp + 0x88]
call fcn.0046cd7e
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 0x576c63
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x57717a
mov esi, ebx
mov ebx, dword [esp + 0x2c]
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x576c59
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, [0x672500]
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, [0x6b0003]
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 0x576c69
mov esi, ebx
mov ebx, dword [esp + 0x2c]
cmp cl, 0xa
jb 0x576cf5
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 0x57716e
inc ebx
movzx ebp, byte [edx + ebp]
cmp esi, ebx
jae 0x576ced
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, [0x672500]
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, [0x6b0003]
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 0x577162
lea ecx, [ebx + 1]
movzx ebx, byte [edx + ebp]
cmp esi, ecx
jae 0x576d5d
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, [0x672500]
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, [0x6b0003]
movzx ebx, byte [esp + 0x23]
mov byte [ecx + eax - 1], bl
inc ecx
cmp esi, ecx
jae 0x576d9a
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x672500]
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, [0x6b0003]
mov dword [esp + 0x28], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x48]
mov ebx, esi
lea esi, [esp + 0x88]
call fcn.0046cd7e
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 0x576e42
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
imul ecx, ecx, 0x148
shr ecx, 0xf
movzx ecx, cl
cmp ecx, 0x10
jae 0x577156
mov esi, ebp
mov ebp, dword [esp + 0x28]
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x576e3c
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, [0x672500]
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, [0x6b0003]
mov ebx, esi
mov esi, dword [esp + 0x30]
mov byte [ebp + eax - 1], cl
jmp 0x576e48
mov esi, ebp
mov ebp, dword [esp + 0x28]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
jb 0x576eca
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 0x57714a
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x576ec6
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, [0x672500]
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, [0x6b0003]
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 0x57713e
inc ebp
movzx ecx, byte [edx + ecx]
cmp ebx, ebp
jae 0x576f33
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, [0x672500]
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, [0x6b0003]
mov byte [ebp + eax - 1], cl
lea ecx, [ebp + 1]
cmp ebx, ecx
jae 0x576f72
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x672500]
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, [0x6b0003]
mov dword [esp + 0x24], ecx
mov byte [ecx + eax - 1], 0x2e
lea edi, [esp + 0x34]
lea esi, [esp + 0x88]
call fcn.0046cd7e
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
cmp cl, 0x64
jb 0x57700c
movzx ebp, cl
imul ebp, ebp, 0x148
shr ebp, 0xf
xchg ebp, eax
movzx eax, al
xchg ebp, eax
cmp ebp, 0x10
jae 0x577132
mov esi, dword [esp + 0x24]
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x577002
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, [0x672500]
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, [0x6b0003]
movzx ebp, byte [esp + 0x23]
xchg ebp, ebx
mov byte [esi + eax - 1], bl
xchg ebp, ebx
jmp 0x577010
mov esi, dword [esp + 0x24]
cmp cl, 0xa
jb 0x57709c
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 0x577126
inc esi
movzx ebp, byte [edx + ebp]
cmp ebx, esi
jae 0x577094
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, [0x672500]
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, [0x6b0003]
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 0x57711a
lea ecx, [esi + 1]
movzx edx, byte [edx + ebp]
cmp ebx, ecx
jae 0x5770fa
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, [0x672500]
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